A lot of hardware vendors do not even consider supplying unix drivers. For some hardware no specification of the hardware interface is available and therefore it is almost impossible to create drivers for this hardware. The Linux system supports a lot of hardware. By now the number of Linux systems is high enough to convince hardware manufacturers to supply drivers for Linux. As with any unix system one should verify the support of specific hardware.
Every system has bugs.
If I want to deliver a dedicated system I want to be sure none of the bugs show up during normal use. Sometimes the definition of what is a bug is ambiguous. As a result of this sometimes some combinations of network components show some degradation in performance. With commercial systems often it is difficult to get bugs fixed in general. Getting such vague bugs fixed is almost impossible.