Artful Dodger: Desktop environments for Linux etc. have improved a lot. It's no more difficult to use some of the modern Linux distributions than it is to use Windows. In fact, I find Windows a lot harder to use.
The problems people have are twofold:
First, there's the fact that they're just used to the Windows way of doing things. The Windows way is in many instances a chore. It's not easy or efficient when compared to the ways of many Linuxes, it's just what people have been taught to accept as "normal". It took some time getting used to, but after a couple of years on Linux, I want to stab my ankle every time I am forced to work with Windows.
The second is the most common problem though. A lot of people don't really know how to run their Windows system properly. But everybody has a few friends, who do stuff for them and explain things to them. So they get by. Because ~90% of such friends use Windows, they might not be of much help with their Linux boxes.
This is no problem for semi tech savvy people, because the information is out there. In fact, where Linux is about 1000 times easier to deal with is solving problems with system or application software. The info is out there most of the time. Forums are very good. Wikis are all over the place. If you google for a problem you ran into, you will find relevant information most of the time. I remember that researching Windows problems meant pretty much wading through pages of search results, only to be lead to one of two things - threads that were about your problem, but that didn't lead to a solution other than maybe "reinstall", or threads that were about something else completely. Of course all those threads were on forums that were plastered with ads. And of course you'd get the same thread copied to different forums countless times. After hours of unsuccessful research, you'd often just reinstall some things. With Linux I'll just head to the community pages of my distro of choice, or the given software (those forums, when they exist, are mostly pretty decent, because it's usually community driven software anyway), and either find a quick solution, or be sent in the right direction. And if you use Ubuntu, like MadMonkey suggested, you'll find yourself using a very user- and newbie-friendly distribution, with a huge and growing community, and generally very, very beginner-friendly documentation and atmosphere around the forums.
It might take some time getting used to it, but if you really try it - I can't imagine you could possibly regret the move. It's so much more pleasant.
(V): For Windows-only software, there are different possibilities, with different pros and cons:
1) wine The project wine (formerly Windows Emulator, now Wine Is Not an Emulator) is an attempt to create a "Windows compatibility layer" for Unix-like systems. It can run a decent number of software, some better than the others, and some need some extra work to get running. You can check which of your apps will likely run at the AppDB over at WineHQ. But not all programs will rund, and some probably never will. Pro side is it's very resource efficient, and the windows will naturally integrate. Contra is that so much software either won't run or will run, but not be fully functional.
2) Crossover or Cedega There exist two commercial extensions to wine, Codeweavers CrossOver and Transgaming's Cedega. CrossOver started to specifically support MS Office on Linux, and Cedega's main focus is games. Both have since grown a lot, and both support a great deal of popular Windows software. I think they both should have an AppDB like wine, but I don't use any of them any more, so I can't tell. The Pro side is that way more of your programs will run, that you can vote to get support for your favorite apps (at least that's how it was at Cedega a while ago). The Contra is that still not everything will run, and that it costs money. But IIRC it's not really expensive, so that's no biggie.
3) Dual boot If you have enough disk space, you can just install them side by side, most Linux distros come with installers that will take care of setting this up automatically, but customizably. Pro side is everything will run just as expected, the Contra is you have a Windows system sitting on your computer ;) But seriously, this has implications. Should you want to reinstall Windows, prepare for some trouble. While a Linux installation won't break anything (Most distros will install the Grub boot loader that let's you chose between different OSes at boot time, and automatically detect and add your Windows installation). But when you install Windows on a system where Linux is installed - Windows will not care. It will simply assume that there is no OS, and will overwrite the MBR of your disk with its own boot loader. You'll have to fix it after installation. Another problem is that to share data between both systems, you'll want to use a file system that Windows can read and write, so you're forced to use FAT or NTFS for your data partitions, which suck.
4) VM That's what I use when I play Poker. If you have the hardware (doesn't have to be too strong, just remember that the virtual machine will run on less resources than physical installation would need), you can use VirtualBox and install Windows in a virtual machine. Now every time you want to use your Windows-only software, you can start the Windows VM. It can run in full screen mode, as a normal window, or even "Seamless mode", where the Windows windows will be managed by your Windows manager, and will integrate into your desktop. It's pretty awesome ;) Plus, you can simply share data between your Linux host system and the Windows guest in VirtualBox through shared folders. Oh, and the clipboard is shareable, too. And you don't have to reboot every time you want to switch the OS.
If we're talking high end graphics intensive games - dual boot will be the only acceptable solution though.