OTSDJ is what I use for my dj/fill music (the new version also does karaoke & video as well). It will automatically analyze each song & determine the perfect fade in/fade out points to make a smooth transition between the two like you would hear on a radio, automatic beat matching, some good processing to balance all songs into the same level automatically - but it does cost. It can actually take two songs from the SAME cd & mix & blend them on the fly. Completely worth it to me.
http://www.otsdj.com
They also have a free program as well
http://www.otsturntables.com/ it works much in the same way as far as mixing/blending, but don't have all of the dj features like the dj program.
Here is also a decent free dj program.
http://www.kramware.com/index.html