I can recommend Linux to everybody, but one must be aware that it requires some more intellectual capacity from the user.
It all is just a matter of experience with computers.
But as OptionGuru mentioned, one should look for and use hardware that is supported by Linux.
Most hardware is already supported, but there are some hw-companies who produce only
for the Windows market (or Mac market).
Regarding software: similar situation: some (mostly very special) software is written explicitly for Windows or Mac.
But one can easily find out what works and what doesn't, by researching on the net...
And: under Linux one can also use the VirtualBox software, wherein one can run other operating systems, like Windows, or other Linux distributions; it is freely available.
Under Linux the LibreOffice package is available for free. It is IMO as good as MS Office.
And: for developers: Linux has already many compilers and interpreters available, so no need to pay for a compiler.
And: all web programs had their origin on Unix/Linux and are of course freely available, so no need to pay for a WebServer, SQL server, DNS server, Mail server, News server, time server, version revision system,.... endless much free software (even with source code) is availabe under Linux...
I personally use Debian Linux (
http://www.debian.org ).
Ubuntu (
http://www.ubuntu.com/desktop ) I can recommend as well, as it builds on Debian.
The Linux market is growing steadily, many companies offer commercial products and services for Linux.
Linux doesn't need to make big advertisements. Linux is already the future.
Btw, in case you didn't know: Apple's OS X and also Google's Android operating systems are
as well Unix-like operating systems, ie. they are similar to Linux, or vica-versa

Windows has no future, IMO, especially for the professional users and power users, and nowadays most students learn about and work on Linux systems...