Been using Runkeeper for a while, really enjoy how it immediately updates the web site, and how I can view the details online.
One other thing we really like is how you can tell it what you are doing - walking, hiking, biking, etc. One app for all activities!
The only real drawback is when you forget to turn it off. Driving home from a walk, and all of a sudden my calories used looks REAL GOOD!! Editing the route online to remove the inappropriate part of the path is possible, but a bit of a pain, lots and lots of clicking.
Battery life is an issue with the iPhone (3Gs in our cases) - that is just the nature of the beast. Cases with built in batteries are not too expensive, and turning off lots of stuff can really help.