I can't disagree strongly enough. For the average user, Linux is still awful as far as "usability" goes. While it's fine for us power-geeks, telling someone they have to write a
.desktop file in a particular format in superuser mode in order to create a shortcut for an application which won't otherwise pin to the Ubuntu launcher - for example - is a joke.
It's as simple as this: if the average user needs to use the console EVER, the OS is not ready for the general public. That's not to say if someone wants to do something abnormal they shouldn't have to use the console, however short of using pre-packaged software complete with desktop shortcuts on most distributions, a user is going to need to at some point drop into bash and do something which current usability guidelines are well beyond.
The counter that we used to all get by fine with console-based or text-only OSs is a moot point. We've progressed beyond those because there are superior, easier ways to work, using technology that simply wasn't available in the past. We used to ride horses everywhere but then the car was invented and we had a superior way to travel. While hobbyists can still go ride a horse if they want to, it's clearly inferior in the majority of situations the average citizen will encounter. Because we don't need text interfaces for the vast majority of purposes anymore, the general user is not instructed in their use - nor should have to be.
If you have to read a man page in order to discover how to use a piece of software, that software is flawed, and fails at usability for the general populace. It's form and function should be largely self-evident. By all means, any specialist may find a command-line encoder which you can parse batches of files to with a convoluted string vastly superior for their particular usage. These individuals do not represent the majority of users.
As far as people having no trouble making their software "just work" on Linux, take
https://www.virtualbox.org/wiki/Downloads as an example. One link for 32bit & 64bit Windows. One link for 32bit & 64bit MacOS X. For Linux however, a wiki page, 45 initial links for various Linux flavors, sudo instructions for adjusting your repository so existing Debians installs can download the latest versions, sudo instructions for fixing invalid signatures in your existing repository, and sudo instructions for verifying the signed key for Debian and RPM installs (something that is as simple as a right-click in Windows).
Lets be clear.. it's a huge amount of trouble to make software "just work" on Linux. Some publishers simply hook into wine libraries and give you the Windows software with a few path redirects and, in some shocking cases, privilege elevations. But that's not making it work on Linux. That's making it work through Wine. Producing new software for Linux beyond text-only applications, which "just work" in a wide variety of flavors is an incredible amount of work. It's far easier to port a graphical application to Mac OSX and have it work on all flavors of Mac OSX than it is to port to Linux and work on all flavors of Linux.
To address another claim of yours - Windows needs more maintenance and Linux less? What? Again - presuming you're talking about your average home desktop user (this is a thread about Steam, after all - we're not looking at enterprise applications here), this couldn't be further from the truth. Windows 7 requires virtually no user maintenance whatsoever. It updates and patches silently. Patches do come more frequently, largely due to expectations of professionals - this is a good thing, not bad. However, what it does on its own is not "maintenance" as far as any user is concerned.
Linux on the otherhand - take Ubuntu again, the most popular general-user GUI for the OS. You want automatic patch updates? First of all you've got to install that package, manually. Then you've got to edit
/etc/apt/apt.conf.d/50unattended-upgrades and
/etc/apt/apt.conf.d/10periodic to set it up to download and install automatic upgrades. What? You wouldn't do that because it doesn't give you control over the finer details of each update and how it impacts on the rest of the software you use? That's why Linux isn't ready.