About 99% of all devices "just work" out of the box, the other 1% either are very obscure/specialty hardware, or are new hardware. Linux doesn't need a vendor to support Linux like it used to... most generic drivers are built in and work OK (just like the generic drivers built into Windows now-a-days).
Well if you count most GPUs under speciality hardware then I guess you're right, but most people don't. And most linux GPU drivers still pale in comparison to their Windows versions.
Compare that to driver support for things like the fingerprint reader in a Lenovo Thinkpad. I wouldn't want to bet on getting that working at all, unless Lenovo had preinstalled Linux for you. And unlike GPUs, this is likely to be all or nothing, so if you don't get the drivers you can't use that hardware feature at all.
I gave up and I bought a PC (Intel NUC). I was able to install Linux on it, but it failed to boot. I then found a BIOS update, and managed to get it installed (not a trivial task). After that my NUC worked well, except for the IR port, which required additional driver hunting.
Sadly, we're still a long ways from "it just works." The NUC didn't support Linux out of the box, even though it ships without an OS!
Also to my knowledge all modern Chrome devices have Coreboot support which enable "legacy" bootloaders and will boot any distro like a normal laptop. Older models like the C710 have unofficial Coreboot builds which allow the same (and linux driver support on modern distros).
This is a little better then when I was hand-editing x configs back in the 90s but overall I'm disappointed.
Of course, now I'm just using a rMBP, but yeah, I wonder if I've just been very lucky?
In Linux, I always have problems with devices, in one way or another (specifically Ubuntu, but I think it's fairly representing the concept), both for new things, old things, not-so-new things, obscure things, etc. etc.
To complicate the problem, drivers fit in stacks that may interact in unexpectedly broken ways. This means that say, a wireless audio adapter, may work only 50% of the times it's connected. I was using Windows long ago, and I don't remember this category of things happening (I guess because there are only a few Windows).
So, certainly they work "OK", but one needs to be quite flexible on what OK means. I've got two machines which are not so arcane, and I have at least 4, hardware-related (not stack-related), open bugs.
Thing is, Linux is much more enjoyable to use for software development and deployment, development on Windows makes me feel like a second class citizen, the OS to me feels much more oriented towards the exclusive consumer, especially now with the new (metro) tablet like user interface.
This high number is due to kernel programmers writing device drivers, since not so many manufacturers write linux drivers themselves.
If you are thinking of video driver it is a totally different story.