Yep. Topo! is commercial and it is pricy. A Mac and Windows version exist. There certainly are over options out there for doing this kind of thing. You just need software that can handle USGS scanned maps (DRGs) and lets you overlay useful info on them. This means the software has to be able to deal with calibrating the basemap picture to a co-ordinate system (if that picture is not already calibrated - e.g., a GeoTIFF file) and from there you can overlay whatever you need to. In this case GPS track data. A program like Topo! will let you manipulate the resulting route. Other programs like OziExplorer or Mac GPS Pro do the same thing though generally speaking the map resources they can draw on are a bit more limited.
The files Topo! saves (.tpo files) are, as you might guess, a strange format meant to work with Topo!. These files contain user-added data to maps such as routes, waypoints, labels, notes, other stuff. Topo! overlays the information in the .tpo files onto USGS quads which you've bought from National Geographic ($100 per state). They make region based versions of the product too, but they're not as detailed.
If you can get your hands on digital versions of USGS maps (or whatever), properly calibrate them - that is tell the software that this known location is at this spot on the image and this known location is at this spot, and so on, you can "do it yourself" with other tools. But that's easier said than done.
With Topo! once I have the data I can create maps that fit my needs. For example, create small sections of maps for priting.
The laptop we've ben using is just an old Windows 95 based machine that generally gathers dust. I could just as easily use an iBook, but since Andy gets out more often to do this than I do (easier for him to get to the pace than it is for me) we use his WIndows machine.