I guess this is mainly caused by the failure of Linux as a commercial desktop. Except for heroic efforts by Red Hat, SUSE, and previously Sun, it's mostly a hobbyist affair. As a hobby, people prefer to do the fun work, not the tedious and boring maintenance, bugfixing, and polishing.
The quality of Linux as a desktop operating system is in stark contrast with Linux as a server operating system. Thanks to the enormous amount of money invested in server-related components, Linux as a server is generally very polished and reliable.
On a personal note, the effort required to maintain a stable Linux desktop made me switch to OS X in 2007, after using Linux for 13 years.