Imho Ableton is by far the best song writing tool I've come across. Everything is loop based and those loops can all be put into their own groups ie intro, chorus, verse, outro etc..
This allows you to sketch out a song VERY quickly. I really like the built in 'drum machine' it has as well. Very easy to get a drum loop going with the built in samples.
It's great for jamming and practice too - crank out a drum loop (or import one that comes with the program), record a guitar part, loop it and start jamming.