While I believe that Linux is mostly ready for the desktop, there are a few rough edges. Some hardware is just not useable or easy to use with Linux. Printers are items that you will want to investigate before jumping headfirst into Linux. If you cannot print, your PC may be next to worthless. Like other hardware, if the manufacturers do not make drivers, or provide specs so the Open Source community can develop drivers, the hardware may be a paperweight under Linux.
From my experience, most USB devices just work in Linux. The exception is printers. If a printer is specifially designed for Windows, there may be no way to get it to work with Linux. For example, I have a Lexmark Z23 ink jet printer that came with a PC I bought 4 years ago. Lexmark is semi-friendly to the Linuz community and provided a Linux driver. I was able to crudely print using Red Hat 7.2, but once I upgraded to Red Hat 8, then 9, and then Fedora Core 3, it will not print. The OS recognizes that the printer is there, but none of the work arounds on the net work. When I try to print, it ejects a sheet of paper. This kind of printer keeps me tied to Windows, and the need for a dual-boot PC, so I can print.
To avoid headaches, LinuxPrinting.org has assembled a Linux Printer Scorecard of various makes an models and how well they work with Linux.
Check this list before going whole hog with Linux. It is less painful to learn you may not be able to get your current printer to work BEFORE you make the switch.
The simple rule of thumb is if it is a cheap printer that is bundled with a cheap PC, and the ink costs more than the printer, it probably will not work with Linux. The Linux Printer Scorecard will tell you what others have experienced and which printers in your price range are easiest to get working with Linux.