I have a Garmin and an iphone.
We got the Garmin several years ago, before we got smart phones, and it certainly was a great buy. We used it for long trips, and my wife used it to drive to clients homes all over town.
The iphone is great, as it is always with me, while the Garmin might be in my wife's vehicle.
But the Garmin can be mounted up on the dash, and stays on and clearly visible. The display is better than the iphone, and doesn't turn off after a couple of minutes. [Sure, you could mess with the iphone settings, but for short trips I don't want to keep bothering with that].
I also don't have turn-by turn voice prompts for the iphone [sure, I *could* buy an app for that]. The directions on the Garmin are very clear - it even tells you which lane to get in when etc.
The search function on the iphone is about 1,000 times better than on the Garmin though. I could never get my Garmin to find the local Putt putt course, for example, as I didn't have the correct name. Just type "putt putt" in maps on the iphone though, and it pulls up all the nearby ones.
So, I like the Garmin, certainly for long trips. But you can't beat the convenience of a smart phone.