People are uninformed. Lots of people don't know that there are good alternatives to the programs that they're used to using. OpenOffice (which works on Windows, Linux, and Mac) is a great alternative to Microsoft Office, and is compatible with all Microsoft Office versions. I'm a network administrator of 12 years. I like Linux. I also do not hate Microsoft nor Windows (although I do hate the Vista version of Windows). Let me give you the straight dope on Linux:
1. It's not always compatible with all hardware, so if you're buying a computer, and you're interested in Linux, then make sure that the computer you buy is 100% Linux compatible. I do not consider this to necessarily be a drawback because guess what? Mac isn't compatible with all hardware, either, but because of their business model, they can control what hardware Mac ships with.
2. I recommend Ubuntu for beginners and experts alike. They've got a fantastic wiki with an educated community documenting and answering questions on said wiki; having said that, I recommend CentOS for servers in a production environment. OpenBSD (not FreeBSD) is even bette for servers, but it isn't supported by VMware, which a lot of people are using for their servers these days. Why is OpenBSD best for servers? Two remote exploits in ten years... name one other operating system with a security track record like that. I dare you. I double-dog dare you.
3. WINE (which runs some Windows programs in Linux) is OK. But you should find that there are Open Source alternatives for 99% of what you need in Linux. In Ubuntu, the "Add/Remove Programs" has thousands of programs that you can download and install for free. Ubuntu will even keep them up-to-date for you. Even for games, there are lots of great Open Source ones out there. For example, OpenArena is a Quake 3 clone that can even join Quake 3 servers and use Quake 3 mods.
4. The first thing you want to do with a new Ubuntu system is install the ubuntu-restricted-extras package. Among other things, this gives you Flash and Quicktime. There is a video with instructions on how to do that here:
http://www.linuxjournal.com/video/playing-restricted-media-when-using-ubuntu
5. There are indeed a few things that Windows can do that Linux cannot because so many more commercial programs are available for Windows. In a business environment, the first thing you'd notice is that there is no good alternative client for Exchange. For Exchange, nothing beats Outlook. Linux's Evolution claims Exchange compatibility, but said compatibility sucks. If you needed to connect to Citrix servers, you probably couldn't to that with Linux. You cannot play Fallout 3 with WINE. Yahoo Instant messenger's voice and video features don't work with Linux (although Skype works fine). These problems are few and far between, and you can generally overcome them with a little research, an open mind, and a dash of creativity.
[edit]
My opinion about why Windows is popular is because of the Exchange issue. Exchange is popular at the workplace, therefore you need Windows to run Outlook. People use Windows at work, so they want to run Windows at home. Games are also a big factor since all the commercial PC games are mainly for Windows. Oh, and you can easily run World of Warcraft with WINE.