Gaia is pretty good, it can take maps from a number of online sources, as guntis's screeshot shows, and store them on the device. I still bring my Garmin along on hikes though.
The one thing that I really don't like about Gaia is the crappy way it displays waypoints on a map. You just get the same icons all over the place, and it doesn't show name of the waypoint beside the icon. You have to touch the waypoint just to show the waypoint name. I've mentioned this on their suggestion box to no avail.