Oh gosh, there's tons of good software out there. For general categories, though, here's my list.
1) Multitracking/ Sequencing Software
This is where you'll spend the bulk of your time. All the major players have good software, so what you choose is really up to you. I use Cubase SX. Doesn't make sense to me to use more than one unless you need compatability with other folks who use other programs. They are typically expensive programs, as well.
2) Wave Editor
This is where you "master" your final 2-track mixes. If you have a fast computer and a deft hand you can get away doing it in your Multitracking software, but they come in really handy. This is typically where you butn your songs to mp3, too. There's a host of these things out there, from lame to very expensive. Just about any will do the trick, as long as they can use...
3) Both VST and DX plugins.
Unless you are using ProTools, you'll want a healthy collection of both VST and DX plugins. Depending on your program one set will work better than the other, but they're both valuable. There are a LOT of plugs availible- again from free and yucky (or good) to very expensive. With a few exceptions you get what you pay for. Most big name multitrackers come with an assortment of these that vary in quality and useability.
4) VST and DX instruments
For some people, software synthesizers are a useful tool. They are MIDI controled synths that live in your computer. I think they are cool as hell, but they are resource hogs. They can also be (you guessed it!) very expensive. So are hardware MIDI devices. (shrug). This is how I get my drums- Steinberg's LM-4 VSTi drum machine. I
love it.
That's my list. I'm sure I've missed something, but I've only worked with my own setups. I like to keep things simple so I use only Cubase and Wavelab. I can do everything I need in those progams.
Take care,
Chris