Mobac works great, although you have to do a bit of editing of configuration files to get it to work with non-free sources like google maps.
I've used it create maps for long bicycle trips in SE Europe. A highest-detail map of the balkans is about 1GB. I used Galileo Offline Maps to render it on an iPhone.
I use Gaia GPS for my backcountry hikes which is available for iOS/Android. You can download a variety of topo maps and aerial photos ahead of time in a particular area and load them when out of cell service.
The only issue I'm still trying to figure out when using my phone is how to disable the cell antenna with the GPS antenna still activated to conserve battery.
There is also Backcountry Navigator which has similar features but is only available for Android devices: http://backcountrynavigator.com/
http://mobac.sourceforge.net/
There's also a bunch of "WMS Viewers" that you can point at National Map endpoints (which shouldn't have any licensing issues):
http://raster.nationalmap.gov/arcgis/rest/services
I've never had a use for them so I don't know if one works well and has nice caching features.