One time, a friend called me with an offer. He would pay me 50 bucks to get his laptop working again. Specifically, what he wanted was to back up all his data, reformat his disk, re-install Windows, and then restore his data. I asked if he still had the original install disks for Windows. He stammered a bit, and asked if I might not simply have some on hand I could use. He didn't mind if it was a different version of Windows - subtle code for hoping for a more recent version. The fifty dollars was for my labor. He didn't see getting a copy of Windows as a cost-associated item. It was no big deal, either he had a copy of Windows or I did, or he figured I knew a friend who did.A few years back I tried to install Linux several times but was stopped cold by hardware compatibility issues. Such problems have been getting better now, but now I'm stuck on Windows because I like to use Visual Studio and SharpDevelop for my programming work, neither of which work on Linux.
I felt kind of uncomfortable about the proposition, so I said no. If he had asked me this more recently, I would have offered to put Linux on his computer. But he probably would have said no, because it would seem like a more expensive offer to him. He would have compared free, unfamiliar Linux to free, comfortable Windows. The cost of getting used to the new environment, as easy as it might be, is probably more tangible to him than the money he technically should be spending but won't.
The different interface of Linux and the potential hardware issues are definitely problems. I never know how to install software on Linux if it's not available in the standard repository; I wouldn't know how to set up file sharing (it's hard enough getting it working on Windows!); Last time I used Linux, Firefox's interface looked ugly and different from all the other windows; my old webcam almost certainly wouldn't work; and even if my 3-in-1 laser printer has a Linux driver, there's no way it has all the features of the Windows version.
I can't stand that rift between the two Linux desktops, Gnome and KDE. Call me a conformist, but I hate to have programs that look and act differently running on the same computer, and as a programmer I don't want to have to pick which GUI libraries to target: that should be the end-user's choice. It's about time they put aside their differences and merged. Or for a meteor to hit one of the camps, leaving victory to the other guys by default.