This is a work-in-progress post.
So far I have tried 3 DJ mixing software products.
TL;DR: VirtualDJ wins, but it’s not really free
Mixxx
Free Open Source
+ Can handle any file format
+ Has up to 4 turnables
– Very unintuitive UI, which makes it hard to build sets and analyze tracks for BPM and key values.
VirtualDJ
Free for personal use, but very restrictive licensing
+ Technically the best software so far
+ Can use ASIO for main and WSAPI for headphones
– Only 2 turnables by default (update: You can install additional skins to have 4 decks, but they’re ugly)
– Every time it starts, it wants you to sign in/create an account
– No way to create a set list?
– Subscription based
Serato DJ Lite
Requires an account to be created, no way of deleting that account manually.
– Wants to upsell you on pretty much everything, cloud offers, their Pro subscription and it’s constantly nagging about it
– No proper audio configuration possible
– Tiny waveform display
– Control missing
Serato DJ Lite has to be some kind of joke.