osmAND for android is a really cool one. You can download upto 10 maps for free, or download your own from openstreemsaps and upload them.
We used osmAND on a little HTC Desire last time in morocco and it served us very well if i remember rightly
OSM maps are more up to date than most other since it's mainly user updated. When we used it, it had the little tracks over the tops of them mountains that weren't on the printed maps nor on the other gps gizmos that folk had.
Was probably the best day driving we had
It works off line too.. think you can also upload POI's and waypoints etc.
Cheers
Adam