Maps
There are quite a few iphone options and which one is best probably depends on how much memory you have in your phone and on personal preferences. If you just want road maps the DirectU series are amazing. They essentially download the street maps for a whole continent. I have used the Australian one and it seems to be pretty accurate for the (admittedly urban) areas in Perth and Melbourne that I have tested it in. The downside is the maps are quite large and take a long time to download when they are updated.
I have also used CityMapstoGo which allows you to download Maps a city at a time. This has the advantage that the maps are much smaller and therefore quicker to download, but I have only made limited use of it in cities I don't know very well, so I can't comment as well on the accuracy.