I will always say GOOGLE MAPS, i have been using it in the last 3 years, is just all you need, if you have data on your phone.
With google you can find anything, i mean anything, name of the block of flats, restaurants, you name it.....
TomTom is just to slow for me, i use the navi from my car to check some quick shortcuts when i don't know the area.