Lots of options.
Runmeter
RunKeeper Free/Pro
Nike+ GPS
There's also WalkMeter and BikeMeter, both are the same as RunMeter, just different icons and different default "types." All can select Walking, Running or Biking as the type of event.
I'd Try RunKeeper Free for now. See how it works for you. Then if you want something more indepth spend some cash on one of the others.
Since I got pretty serious with my running I couldn't handle the inaccuracies of the iPhone GPS and ended up getting a Garmin Forerunner. Much better and amazing battery life compared to the iPhone with one of these apps.