The iPhone 3Gs has a GPS chip, so it is a true GPS reciever. The iTouch does not have a GPS chip (not sure about the new version though). Either an older iPhone 3G, or iTouch can be hacked and a thrid party GPS accessory can be used. I havent done this, but my friend in Texas did, only cause he already had the older iPhone.
I have a iPhone 3Gs and use the Navionics app.
As a side note the iPad 3G model also has a GPS chip, and a Navionics app specifically for it. Using the iPad gives you a 9 inch screen.
I wouldnt want to rely on an iPhone app to be my primary GPS if going out more than 7 miles, or that I rely on a Garmin. Near shore, on the Hobie, and smaller boats it works fine.