My Tracks is pretty minimalistic and crude. There's not any reason to use it over the free version of CardioTrainer that I've seen.
CardioTrainer is the best if you stuff it in your jersey pocket and just ride, or if you have earphones for pace reminders.
RunKeeper is the best if you put your phone in a mount and pretend it's a Garmin. The dashboard isn't great but at least it exists. Doing this will eat up your battery life so keep it under 2 hr rides, assuming you start 100% charged.
All of them are compatible with the Polar Bluetooth HR monitoring which is actually a flakey piece of crap, but better than nothing when it works. Do not exit CT or RK, whichever you're using, when the HR monitor is active or it might disconnect and then you cannot reconnect without restarting the phone in my experience.
I've heard the Zephyr bluetooth HR monitor is better but you have to use MyTracks or Sportstracker with it, and I don't like those. I'll eventually just get a Garmin.