A decade ago, installing Linux was hard work. Getting the OS to boot was easy enough but getting it to actually speak to your PC's hardware could take hours of fiddling with config files or even having to hand compile a new OS kernel. Even getting the GUI to run at anything higher than VGA resolution could leave you tearing out hair in clumps.
Today, things are different. Hardware detection has developed to the point where you can boot the OS from a CD or USB stick on a new machine and it will support your video card and even Wi-Fi without any effort, allowing you to kick off the full install with confidence that you will be able to get to work straight away. If you have ever had to install Windows yourself (particularly XP) then the difference is marked.
That said, some hardware is still designed with Windows in mind. Video and Wi-Fi (mostly) work out of the box but there are plenty of things that do not.
Scanner and printer support is much better today than even a few years ago but there are still some printers that simply refuse to play ball and others still that work to some degree but are unable to offer certain functions.
Even some WiFi hardware only works because of clever "wrapper" code that allows the original windows drivers to work, with a slight performance hit.