I personally use Ableton Live to mix tracks, that or I just beatmatch with my CDJs the old-fashioned way. I know Ableton is expensive as all hell but you can always pirate it I guess. Ableton Live is the most superior program when it comes to mixing, IMHO, so you might want to check it out. ProTools and FL Studio are pretty good too, although they aren't as good with mixing as Ableton.
Audacity is pretty good if all you're mixing is for videos/streams. I haven't used that program in forever though.