Linux supports more devices "out of the box", than any other operating system ever has.
There are also a few very interesting paragraphs on the Linux USB code. (Greg Kroah-Hartman specialises on the kernel's USB subsystems, amongst others.) Here is a severely cut-down excerpt:
Linux now has the fastest USB bus speeds when you test out all of the different operating systems. We max out the hardware as fast as it can go, and you can do this from simple userspace programs, no fancy kernel driver work is needed.
Now Windows has also rewritten their USB stack at least 3 times ... each time they did a rework, and added new functions and fixed up older ones, they had to keep the old api functions around, as they have taken the stance that they can not break backward compatibility due to their stable API viewpoint. ... now the Windows core has all 3 sets of API functions in it, as they can't delete things. That means they maintain the old functions, and have to keep them in memory all the time, and it takes up engineering time to handle all of this extra complexity. That's their business decision to do this, and that's fine, but with Linux, we didn't make that decision, and it helps us remain a lot smaller, more stable, and more secure.
All of this, plus arguments against the "stable API" approach, plus more! Well worth a read.