It Despends what sort of music you want to do.
I find cubase the best to write songs using midi. The company that makes it has a cut down version called Sequel have a look at the
Steinberg website
[img size=150]http://www.steinberg.net/index.php?eID=tx_nawsecuredl&u=0&file=typo3temp/pics/5e1adf9a89.jpg&t=1216873229&hash=7d6e7952635a81608fbfb2787be317a4[/img]
If your more into dance or hip hop you may want to try out
Reason
or
Ableton live.

I personally find these programs limiting but they are very popular.
there are a lot of demos of these on youtube. See what one you like the look of.
There is also a pretty good artice telling you how to download them for free at
Free-Downlload-Directory.com