I'm using http://www.qlandkarte.org/ when viewing and editing GPX tracks - it can use rendered OSM maps from osm.org as a background. On Android I use OsmAnd+, it downloads the OSM data in vector format (which the makers of OsmAnd provide about once a month) and displays it quite nicely.
Ibycus is built on top of GeoGratis data. I have it loaded up in QLandekarte GT and it all transfers over to my little garmin etrex20 without any hassle.
A GPS is a complement to a map and compass, but they are a useful tool if you know how to use it. Besides the tracking feature already noted by /u/riskeverything they provide a lot of useful data-elevation, time spent hiking, distance travelled, the time, even barometric pressure in some cases. A GPS can also provide a decent sanity check against disorientation or unfamiliarity with your surroundings. You can also get excellent free topographical maps and trail data for Garmin GPS units from GPSFileDepot, plus use the resulting tracks and waypoints you generate to see where you've hiked (and help in future planning) with a tool such as QLandekarte GT. I have found a GPS to be very useful overall, especially if you have a set of preloaded waypoints that you want to navigate to. Note that a lot of websites (such as MidAtlantic Hikes) provide gpx files that have routes and waypoints for hikes, which are a nice thing to have in advance. If you want to get a basic GPS, a Garmin eTrex 20 is a good choice. Runs on AA batteries (easy to find anywhere), and if you use Energizer lithium AA's you'll get 30~40 hours runtime.
/standard disclaimer-not a replacement for a map and compass, some limitations may apply, offer void in outer space, etc.....