RMaps is probably the best offline-map app for Android that I am aware of. It allows you to store a variety of maps on the Droid's SD card, including satellite imagery and topos. I prefer the 1:24K scale USGS quads over Google's terrain layer (especially for hunting and hiking), as there is much more detail and you can zoom in further.
RMaps is available for free in the Market, although it takes a bit of work to get the maps you want. You'll also need TrekBuddy Atlas Creator, a Windows/Mac/Linux utility that is necessary for compiling the maps. There are a few different versions, but I have had the best luck with TrekBuddy_Atlas_Creator_1.6_final_SQLite.zip from the following link -
android-map - Project Hosting on Google Code
From TrekBuddy you can select the source map (TerraServer-USA Map is the USGS topos), then highlight the area you want to map and select the different zoom levels. Click "Add selection" and name your map, then choose the "BigPlanet SQLite" format for the output before creating the atlas. The maps get placed in the TrekBuddy's atlases directory, where you can manually transfer them to the /sdcard/rmaps/maps directory on the Droid. You'll also have to enable each custom map from the settings menu in RMaps.
The process isn't too much of a pain, licensing issues would probably make it difficult for developers to make apps that automatically cache Google Maps content. The biggest limitation to RMaps is the lack of a tracking function, although you can get My Tracks if it is a high priority. I still keep paper maps, compass and standalone GPS during backcountry treks, for the sake of safety. Most of the time, however, I'm just using my Droid in a waterproof, touch-through, see-through case attached to a lanyard.