I play out live often and use DJ software sometimes (other times I use CDJ turntables). It depends what you are really going to be doing with it. The best and most professional software that big name famous DJs are using is Abelton Live. It's not cheap but it is the most versatile DJ software out there. This is also a great music production software.
There is also Traktor Pro and Final Scratch, as mentioned above. I personally use Traktor pro with a 4 channel external sound card hooked up to my mixer so the computer is used as the turntables but I can still mix on my Pioneer DJM-500. You can also use an internal mixer on the computer screen as well however if you don't have a mixer.
Virtual DJ is the most basic low end software - I think it still costs money for the full version though. If you are just looking to play around and mix for fun at home, this would do the trick. Basic user friendly interface, not a lot of options to make a rich mixing experience though.
Let me know if you have any specific questions on any of these, I can probably help you out.