The most important reason you don't see Linux desktops everywhere you look is that Linux desktop applications aren't generally compelling.
OpenOffice has a better underlying technical design than Microsoft Office but is neither significantly different nor obviously better on net in the hands of users - and just as good doesn't cut it: Office on the Mac defends the installed base but never drove growth even though it used to be a generation or so ahead of the PC product.
People who use OpenOffice or most other desktop Linux applications generally do so because the apps run on their OS of choice - in other words the apps get selected by people who value the OS decision above the application decision, and that's just backwards.
In contrast, look at Apache. People choose Apache or Apache applications like Cocoon, because they're both significantly different from, and better than, any of their commercial competitors - and having picked Apache, they look for a cheap and effective server/OS combination to run it.
What's going on is that user level decision makers focus on applications, not operating systems. Apache drives Linux adoption because Apache offers world leading technology - a positive reason. In contrast, Linux drives OpenOffice adoption, not because it's better than Microsoft Office, but because it runs on Linux, or because it isn't from Microsoft, or because it doesn't cost anything - all negative reasons; all ultimately based on seeing OpenOffice, or whatever desktop app you care about, as a good enough substitute for the real thing.
And because people always want "the real thing," the bottom line on desktop Linux is simply that followers are always followers, never winners.
Too negative? here's a positive: if Microsoft and Intel don't succeed in killing the (now $200) $100 laptop, that interface - a variation on Lifestreams already running on Linux, could eventually become the Windows killer the Linux community needs to get behind.