This is a situation that hasn't changed much since 1996 and the story of why it hasn't changed is a lot more interesting than a large enumeration of the faults. To compare it to Windows, Windows really has evolved a lot since the bad old days. Linux beat the pants off Windows 3.1 completely. Both Win95 and WinNT were unstable -- Win2K was the first decent version of Windows. Linux 2.6 was the one really important thi…
The Kernel is just one aspect of a Linux distribution. The part that is most responsible for supporting H/W. It has evolved a lot since 1996. Whenever I try I find the range of supported H/W is larger than Windows and (obviously) Apple.
On other fronts things have changes radically: Video, Sound, 3D/GL, GUI (KDE, Gnome), printing, etc, etc.