Apologises for 'wall of text'(tm) (patent pending)
TLDR: move along, nothing to see here
If you're one of the people who likes fiddling around with your computer, and having very fine grained control over the OS, then Linux is pretty near perfect.
If you just want to use your computer to do work, if you want an integrated and unified user experience* that makes it easy to move from one app to another, if you are... dare I say it, a consumer, then Linux may be less than optimal.
However, remember that even Mac OS X is built on BSD. Now, my impression of the Linux vs BSD spectrum is that BSD used to have a small advantage, but Linuxes large dev base has more than caught up to BSD and continues to pull ahead of it at a steady (if not spectacular) rate. It is not difficult to imagine that in 5-10 years time Linux will be 2-5 times 'better' than BSD. If, at that time, someone with good taste and a decent usability team went and did to Linux what OS X did to BSD, then they could bury the Mac.
This is my definition of a power user -> someone who _uses_ the computer to do _powerful_ things. And I have no snobbery here, I consider programming to be (typically) a 'shallow' use of the computer, and I don't make distinctions between someone who does amazing things in Excel, and someone who does amazing things with home movie or music composition software.
*You might imagine this is a not so thinly veiled reference to Apple users ... however I don't consider Apple to be 'perfect' in this regard. In fact, it feels like most of the time their usability/product design is mediocre at best, sometimes even bad or downright awful ... the problem is that no one else is even _trying_.
The thing you mention though hasn't happened -- nobody's taken Linux to anywhere near the level of polish found in OS X.
I think Canonical is the obvious front-runner in that regard, and while they're making leaps and bounds, I've found nothing in Ubuntu that comes anywhere near the level of fit and finish available in almost every single OS X application.
Functionally, the Ubuntu equivalents are close, but from a usability perspective, they're a very long way away.
Perhaps dropping Xorg is the push that things need to make this happen? I honestly don't know, but while OS X is iterating even more towards perfection, simply moving the control icons to the other side of the title bar in Ubuntu caused an uproar. I think the community at large is too big and stubborn to allow a complete makeover similar to the OS9 OS X transition.
From my experience, I've found a good Linux setup to be about as good as Windows. It doesn't have to be Ubuntu of course, just that (probably) Ubuntu is less work to put into that state.
But my needs are modest, email, web browser, text editor and a compiler. I'm much more interested in the _stability_ of an OS install than tinkering with its innards. I don't want it doing strange stuff to itself when I'm not looking.
None of the big three OSes is perfect, all are improving. Typically in different ways, depending on the core values of their developers and user base.
Canonical _cannot_ beat OS X at what OS X is good at (integration), without ditching its Linux values (freedom for the developer to do whatever he wants). Because that kind of deep integration requires one person (or a group that all thinks the same way) to stand up and say "this is how it is going to be". On Linux, even _Linus_ cannot do that.
On the other hand, you can do what OS X did with BSD - put lipstick on the pig. They build on a foundation of open source tools, but then they commit to providing a slew of (moderately consistent) GUIs for those tools. Note: the command line didn't go away in OS X, but infrequent tasks are much easier with a consistent GUI than if you have to read 20+ pages of man in order to figure out the correct invocations... in that regard, for the 'non-fiddlers' like me OS X is the best of both worlds.
"email, web browser, text editor and a compiler" and Ubuntu manages to screw up even this. I somehow find that Ubuntu seems to have less vertical space on the same laptop than Windows. Too many window bars etc. The consolas programmer-friendly font renders better under Windows (maybe patent problems), so my preferred way to work "on Linux" is to ssh using a full-screen putty to a tmux session running on Linux.
It almost seems like all the elves left the world of Unix in the early 80s, and nothing imagined after the 80s is actually of any use (X11 onwards).
And I take it you don't own a smartphone and hence are uninterested in viewing/organizing photos and videos (forget editing videos!). Ubuntu's tools have always been pathetic.
The ease of use of iPhoto and iMovie is ASTOUNDING. And from the "tinkering" point of view, apparently Apple provides scriptable APIs for almost all of iPhoto's functionality; and in the worst case you can just 'cd' into the iPhoto database (all photos in a single giant file!) with command line tools (like 'find', 'cp' etc) and DIY.
Actually I was only really talking about the Linux kernel itself (which is what Linus has dominion over). For just one example, look at the multi-threaded performance of the scheduler versus other kernels.
I'm making the argument that Linux (with a larger developer base) is capable of matching any feature in BSD, while still having cycles to spare for improving its own base in terms of speed, reliability, web pages served etc.
I didn't realise this was still controversial, my impression was that benchmarks had shown back in 2006 (or earlier) that Linux had caught up to BSD, and since at that time it had a faster rate of change, I assumed that would continue, and extrapolated the trend.
It has been so long since I saw a serious discussion about whether Linux or BSD was better that I assumed it was a moot point by now. If that is _not_ actually the case, then mad props to the BSD devs for doing more with less. I don't follow Linux development trends, if the number of kernel developers has fallen off in the last couple of years that would be a shame, but perhaps not surprising, as a lot of dev work gets moved behind closed doors (cough Google and other 'cloud' companies uncough) or you might argue that once Linux gets to a certain percentage of 'perfection' that there are fewer and fewer 'itches to scratch', and less urgency to scratch them (as a kludgy workaround may present itself)
If you're one of the people who likes fiddling around with your computer, and having very fine grained control over the OS, then Linux is pretty near perfect.
If you just want to use your computer to do work, if you want an integrated and unified user experience* that makes it easy to move from one app to another, if you are... dare I say it, a consumer, then Linux may be less than optimal.
However, remember that even Mac OS X is built on BSD. Now, my impression of the Linux vs BSD spectrum is that BSD used to have a small advantage, but Linuxes large dev base has more than caught up to BSD and continues to pull ahead of it at a steady (if not spectacular) rate. It is not difficult to imagine that in 5-10 years time Linux will be 2-5 times 'better' than BSD. If, at that time, someone with good taste and a decent usability team went and did to Linux what OS X did to BSD, then they could bury the Mac.
This is my definition of a power user -> someone who _uses_ the computer to do _powerful_ things. And I have no snobbery here, I consider programming to be (typically) a 'shallow' use of the computer, and I don't make distinctions between someone who does amazing things in Excel, and someone who does amazing things with home movie or music composition software.
*You might imagine this is a not so thinly veiled reference to Apple users ... however I don't consider Apple to be 'perfect' in this regard. In fact, it feels like most of the time their usability/product design is mediocre at best, sometimes even bad or downright awful ... the problem is that no one else is even _trying_.