This has been discussed a number of times already, so I wouldn't be surprised if this one gets closed soon.
Garmin is great IMO. It is just as accurate has their standalone GPS units (I've used it side-by-side with a Nuvi for a 600+ mile trip). As mentioned before, you can get gas prices, weather, etc all included. The only downside for me is that it doesn't do TTS to read the street names.
TomTom is nice and highly recommended on this site as well. For me, the most recent maps I could find weren't updated enough for my area and didn't have a few subdivisions around me, where the latest Navteq maps did.
iGo is great as well, but I have one complaint I've found with it. I'm using the latest 8.3.2 version with the latest Navteq maps. TTS works great, graphics are great. It is VERY customizable with lots of skins out there. The only thing that bugs is me the ETA time always seems to be off for long trips, and I don't know how to fix it. For example, this past weekend I went on a 300 mile trip. Garmin showed me arriving in about 5 hours while iGo showed it taking 6 hours. Both were set for the exact same route. While driving with iGo, it would shorten the ETA by about 2 minutes every 30-45 minutes I was driving, so that by the time I was within 30 minutes of my destination the arrival time was finally accurate. If I could fix that issue I would use it over Garmin. The ETA is fine on short trips. I've only tried it on a few interstate trips, but they were all on the same route to my parent's house or my house (depending on which way I was going).