i've never used it, but i have heard good things:
http://audacity.sourceforge.net/
a friend of mine used Propellerhead Reason to make some pretty complicated songs, but it has a steep learning curve. Very expensive, but not if you know where to look (ahem, check torrents)
There is another program I have used (not successfully) called FL Studio (also called Fruity Loops). More intended for techno and stuff, but you may be able to adapt it for your uses.