Why doesn't everyone switch to Linux? Is it because it's too difficult? Not exactly. The problem with Linux isn't because you have to run millions of commands to start it up, it's because it gives users too many options.
Commercial companies like Microsoft standardize their product when they create it. When they create their product, they add a copyright, and most likely patents to keep people from modifiying it. The only variations are the ones that the company adds itself. This makes writing standardized instructions and help manuals easy, because the one company that created it knows everything about the software, and everyone will have the same software (except for maybe a few different editions of the software). No problems here.
Then comes the open-source movement, which says, "Everything should be free." Everybody like the idea of free software, so the project goes ahead to create a free open source version of Unix.
Now although some might say that the reason Linux can be difficult is because Unix is difficult. But wait. Isn't MS-DOS very similar to Unix? Before Windows was created, most people used DOS. It worked alright. So about the only difference between MS-DOS and Unix is that the commands are different. You still have to enter data at a command line.
But what is really happening? Let's go back to the open-source movement creating an operating system. They end up creating a very good Unix clone, which is good. But then, there are numerous problems. Windows is rapidly becoming popular. If they want regular users to use the software they created, they have to make it compete with Windows. So the group decides to create a GUI. They do. What happens is they want to keep their flexibility, so when the GUI is created, they still want to maintain the shell to keep the old Unix power. Although most Unix users want it this way, this is a bad, bad move.
As of Windows 95, Microsoft slowly began phasing out MS-DOS. Originally, Windows 3.1 ran on top of DOS. But Microsoft realized something: it makes everything too complicated. Regular users want a nice pretty GUI, not an ugly DOS shell. Now, although XP still remotely has a shell, it's almost completly gone. Microsoft has phased it out (or at least the need for it).
Meanwhile, Linux creators refused to give up the core ability to use the shell. I'm not saying that the shell is bad, in fact I like it a lot. The reason I think Linux should have given it up, is because regular users don't usually care for power. They just want to get their work done. On top of this, new Linux distributions are being created everyday, which are adding more complexity and confusion everyday. For Windows, there's one current version (aside from the professional, business, and standard editions): Windows XP. 1 operating system. It looks and works almost the same on every computer. When Windows Vista comes out, Windows Vista will be the standard. Sure it will take everyone a while to switch, but once the majority has switched, Microsoft only needs to worry about Vista.
Even FreeBSD has more of a standard than Linux. That's why many people prefer it over Linux. Even though using a specific Linux distribution may not be difficult, it becomes increasingly difficult to find help files for your distro, and generic instructions for some tasks are difficult if not impossible for some tasks.
Another advantage that Windows has over Linux: the installation factor. Windows comes pre-installed on just about every new computer, so users who feel too afraid to install an operating system don't even have to worry about that. This isn't really the Linux creators' fault, but I'm just pointing out that many simple users who don't even have the ability to install an OS can use Windows. Not so for Linux.