(Disclaimer: I'm a Linux expert, and as such I would rather not "evangelize". Here are just some of my experiences over time. I think Linux is not perfect for everyone, but for those who can use it to solve their computational problems, it is just great. =)
While the Linux operating system is very good on many fields - stability and flexibility on programming side in particular - there are still some issues with it that may hinder its public acceptance.
It must be understood that Linux is primarily a server operating system, intended not for graphical workstation, but servers that are managed and used over the network, often via command line interface. The workstation use has always been possible, but no one has really paid much attention to it - until recently. Linux is an optimal server OS, and highly recommended for that use.
Some problems that still trouble the workstation use:
Linux typically is not available pre-installed (often due to Microsoft's contracts with PC manufacturers), so users will need to install it themselves. While the installation has gotten surprisingly easy over the years (installation profiles, package dependencies, proper support for multi-CD distributions, network installation, etc etc), the installation often needs pretty good knowledge of the computer system in general - and setting things up may be somewhat challenging for the unprepared. One should never expect a Linux distribution to install "by pressing a button".
However, unlike some other operating systems, Linux needs to be installed only once. Personally, I use a Debian GNU/Linux package that I installed in 1997¹ and only upgraded it over time - it has survived three moves from hard disk to another, and two moves from computer to another. Computer components have changed countless times. Most Windowses would be coughing at this point. (Indeed, the copies of Win9x are completely hosed on both machines. I need to reinstall them one day to get a huge performance boost.)
- Desktop environment
Linux desktop environments are generally considered "getting there". While Microsoft Windows' GUI is only sometimes illogical, there are still numerous causes for confusion for Linux newbies - both in KDE and GNOME, which are marketed as the ultimate newbie solutions. These issues are being worked on; As of writing, Sun Microsystems is conducting a very complete and scientifically valid usability study of GNOME.
Basically, the desktop environments are somewhat working, and some consider them superior to Microsoft's offering any day - but there may be surprises.
I have been told KDE is very good for newbies - very simiar to Windows and also consistent if you use only KDE applications.
- Command line
People have become surprisingly command-line-scared, and many UNIX tools are traditionally command line based. This may be an unconquerable obstacle. However, the improvement in desktop environments alleviates this somewhat.
- Application support
Linux does not run Windows applications very well, and much of the commercial software does not get ported to Linux. This is a fact. However, the native software is very wide and rich - The programs may not be exactly the same as their Windows counterparts, but they do work. Most people, for example, consider LyX a lot more versatile word processor than Word (and it will not even corrupt work files that much), even when it doesn't have the paperclip to help you.
There are some "application maturity" and patent-related problems, though. GIMP doesn't do CMYK, while, for example, Photoshop does.
I've also noticed that video and audio software is Just Not There. Yes, Linux has excellent media players (XMMS is cooler than Winamp, mikmod is one of the coolest tracker music players ever made, and I think mplayer has better keyboard controls than Windows Media Player). Some simple sound recorders (that work) and sort-of-working video capture (which isn't enough) are available... but I'll rather boot to Win9x to capture and edit video.
- Hardware support
I have personally not had any hardware support problems (aside of minor ones, like the need to recompile a newer version of driver from sources), but it is a fact that driver support for newest hardware often comes somewhat late for Linux. Sometimes official support will never be available, sometimes there are only specifications. Sometimes, though, "homebrewn" (completely unofficial and completely reverse-engineered) drivers end up being much better than "official" drivers.
Also, Linux still supports really old hardware, while finding support for the "obsolete" or out-of-production devices for Windows may sometimes be somewhat challenging. (A personal anecdote: I never found a Linux driver for my Agfa SnapScan 310 parallel port model. Now, it seems that there's no working Windows driver for it, either - the situation was different in Win95... Maybe I'll just buy a new scanner.)
X11 fonts have been somewhat troublesome over the years, particularly due to lack of antialiasing in the GUI toolkits, variations of DPI messing the font sizes, and that sort of things. Well, newest stable versions of Qt and KDE already do antialiasing, and GTK+ 2.0 will have good support for it, too - as a graphician, I can live with this font support already, especially now that XFree 4.0 supports TrueType "out of box".
More to be added later...
Finally, an inspiring quote for newbies who consider Linux for workstation use:
"The Linux philosophy is 'Laugh in the face of danger'. Oops. Wrong One. 'Do it yourself'. Yes, that's it."
I would say that Linux as a workstation OS does work - I use it all the time as a workstation OS! It's not yet "foolproof and easily understandable", though, so if you are computer-phobic or have a three-minute attention span, do not touch it yet. (But if you ever want to overcome the computer phobia, try it. =)
¹ Admittedly Debian's install has become much easier, but back then it was really horrible. We did not have any of this "official ISO image" rubbish. However, after I got everything set up, I had this "wow... it just works and is wonderful compared to Slackware 3.2" feeling =)
Thanks to CentrX for all suggestions.
Comments? Additions? Success stories? Please /msg.