Want to do damn good mixes, perform? Virtual DJ and Ableton Live....... First is like mixing with two turntables. Ableton, on the other hand, is a completely different system. Both can be used to do fantastic mixes that go beyond mere professional par, but it is suggested that you use some form of hardware console/mixer to use attached to your computer instead of your keyboard/mouse if you plan on spending a LOT of time on this. Messing with control knobs and sliders will be much easier than with the keyboard/mouse!
Mixmeister is good if you're looking for something to do most of the work for you. Just throw in some songs and it will crossfade/beatmatch/tempo-change.
I probably neglected to mention some good software.. these are the ones I've mainly heard of/worked with.
Fruityloops is for production. Sequencing beats, laying down notation, samples, dropping in vocals, blah blah... making a song as opposed to dj'ing. You can use it to make a dj style mix, but it is a clumsy procedure on this program. I've used Fruityloops... now called FL Studio, for years.