
Linux will become ubiquitous in the year 3000. Okay, that was a horrible joke. Linux is just a kernel, the engine that runs an operating system. By itself, it is essentially useless. Kernels shouldn't be discussed or noticed by normal users. And as such when providing these users with reviews, previews and "professional" opinions, computer consultants, computer reviewers and computer journalists should not spew headlines like "Linux is not ready for prime time", "Linux on the desktop by XXX", "Linux to takeover Windows", "Linux is not ready for desktop" and so on.
I would say the big challenge is the lack of integration. It is basically a whole bunch of small pieces glued together with gum. A company like MS has one vision, and it codes everything (kernel, desktop environment, GUI, filesystem, management tools) for that purpose. Linux will never be able to do that.