Sometimes this is to Linux's advantage; it underscores its flexibility, and the ability to use, for example, busybox uClibc on small systems is definitely an advantage. But other times, like having no standard UI toolkit that works across desktop, tablet, and phone, or having different approaches to managing services/daemons, the advantages are less clear.
Canonical was heading hard in this unified direction, but I'm not sure what their current phone/tablet plans are. Their stupidly implausible kickstarter seems to have disrupted these efforts.
The bigger issue is that the big desktop toolkits, GTK in particular, can't keep their APIs straight. Every other release or so they change some behavior or remove/replace something.
This in contrast to the kernel where once something is in, its in, and stays in that shape.
Thus you can run a CLI binary from the early 90s against a modern kernel. But you can't run a GTK binary from a year or two ago against a current lib version.
Edit: hve you taken to defending your own articles on third party sites now? Dueling in the Arstechnica comments not enough?
And there are X server apps to provide you the full experience.