I blogged earlier about RunKeeper, which is an iPhone app. It uses the iPhone 3G's GPS to track where you've been and when you were there, so it can tell you your pace, elevation changes, calories burned, etc. But it's also highly useful for walking. Matter of fact, if you live in a highly walkable place like I do (Miami Beach) then it's interesting to turn it on and track how far you walk in a day. It's really surprising to see how many miles you've walked. It's not unusual for me to walk 4-5 miles a day just getting to work and other places.
There are a few caveats... you've gotta either leave your iPhone on (which eats battery for the screen) or you must have your music player going, otherwise it cuts itself off. That's no problem for me because I always have an audiobook playing when I'm walking anywhere... even on walks as short as walking downstairs in my building for a protein smoothie for lunch. Don't laugh... we're at the end of a very long hallway, and it's about 1/5 mile round-trip.
Still, I wish you could cut it on and then lock the phone (not turn it off... just lock it) and have it keep tracking. Also, if you switch to another iPhone App, it can cut off. This is problematic, because you might want to do other things as you walk. Hopefully they can turn it into true background operation like the built-in iPod does... no other app turns it off except when the phone rings, and then it comes right back on once the call is completed. Still, it's an exceptionally cool thing. If you have an iPhone 3G and walk a lot, you really ought to try it out.