Strava (free), very straightforward to use. Online program, where you can upload your data to keep track of your workouts, works quite well too. Nothing fancy, but I'd say useful. The fun part is that you can see accomplishments of sections (i.e. a pave section of a mile) and compare our stats (i.e your speed) to those of other users. Just make sure to keep it safe and don't compete with people on sections that include traffic lights
cyclemeter gets good reviews (2.99/ never tried it myself).
Used mapmyride before they had an app and I didn't like the interface of the program online. In addition, i hated the screen hijacking ads (don't know if that has changed, because I stopped using it). The useful thing was that you could plot a route and visualize the profile. There are 100s of online sites that have that functionality and they are much more user friendly.
The downside with iPhone and gps is battery life which you can't really do anything about. I think you can go out on a max 3-4 hrs ride and you'll be out of juice. It might help to close all your other apps (double click that one iphone button and when your taskbar shows up, hold an app, wait for it to vibrate and press the red '-' sign top left to quit or close the app, which, up til then, was still running in the back ground.) as others menitioned before, perhaps you can turn off other things that run in the back ground and you don't need.
Another option is to get something like this,
http://www.kensington.com/kensington/us/us/p/1408/K33459USA/mini-battery-pack-and-charger.aspx
A battery extender, which you charge with a USB, and then you plug it into the iPhones charger outlet. I don't know how well it stays connected on bumpy rides, but otherwise just use some tape.
Reception in remote areas... Get a better provider, if there are any that service such areas?
