I do my “serious” recording using Cakewalk Sonar, but I write most of my songs in Ableton Live. I find it really easy to work out parts and figure out arrangements in Live, even if it’s a tool more associated with loop based dance music and DJing than songwriting.
Live includes a nice set of rhythm instruments, but I tend to use Toontrack EZDrummer for my actual drums sounds. The two work well together, except for the fact that there’s no automatic way AFAICT to have the Live piano roll show names like “Kick” or “Snare Left” instead of “C1” and “A0”. To do that, you need to create a Midi Effect Rack with a chain for each note. It’s easy enough to do, but why should every person who wants to do that have to waste time re-entering this data?
Here’s an Ableton Live Instrument Rack for EZDrummer. There, I just saved you 15 minutes of mindless data entry.