I've been on Linux desktop for the past year and I personally like the experience MORE than macos (but I would definitely not expect that to be true for everybody). One of the many things about Linux is that there are so many "flavors" of it to choose from (this is one of its advantages AND disadvantages) that your mileage can vary quite a lot. The major plus, though, is that you really can setup the operating system you want. As an example, pastrychef mentioned, earlier, missing the File/Edit/View toolbar. I have exactly that on my setup (I use KDE Plasma as my desktop environment and that feature is easily added with a built in tweak - the toolbar context switches with your active apps, exactly the way it does in macos).
However (and to one of pastrychef's other points) I think, no matter how you shake it, Linux requires more upfront work than Mac or Windows for intermediate skill level computer tasks (things like disk management, network setup, etc.). There are also lots of basic, automated niceties (an example off the top of my head, automatically placing a shortcut to a mounted USB drive on your desktop as soon as you plug in the drive) that not all flavors of Linux will reproduce out of the box (although, in my experience, you can almost always find a way to recreate it yourself with out too much skill level). Most of the major distros and desktop environments have made the basics pretty straightforward these days (email, file browsing, web browsing, app installation, etc. - see my note/caveat "*" to app installation below) and the advanced stuff well, that's where Linux really shines. Once setup, however, things feel as effortless to me now as they did in my macos days, and I have discovered a whole host of features that make me work faster and make the experience more enjoyable.
I have had my share of glitches/problems to contend with (but I wouldn't say more than I did with macos or Windows, certainly not more than Hackintosh) but there is something odd I have found about troubleshooting Linux. For me, now that I have gained some experience, it's far less frustrating than it was when I was contending with the other "Big 2" operating systems. Sure there isn't quite the same level of google hits for common problems, sure I have to dig into the command line ... but the information I do find gives me a deeper understanding of what is going wrong (and for uncommon problems, the information, anecdotally, seems actually easier to obtain) and the requirement to frequently delve into the command line has, in the long run, given me much more power to actually fix problems. To add to that, the whole philosophy of Linux is to let you have access and control over your operating system. To use a hardware analogy to stand in for a software problem: things are not hidden in tight corners under boxes with proprietary fasteners, and, when not necessary, swap-able components are not soldered to the motherboard. It makes fixing some problems a lot more straight forward.
All of this is to say that, yes, I think that, for many, there is an initial investment in time that will remain a barrier to the attractiveness of Linux, and that's just the reality of it. Linux (as it stands now) is not likely to be the best choice for the majority of people. However, if your ok with the initial investment in time (and, like many hackintoshers, actually enjoy getting your virtual hands a little dirty here and there), I still stand by the notion that it can provide an experience that can beat macos and Windows.
(*Application installation: Now a days, this is frequently as easy and straight forward as installing an app from the Apple store, however... in the Linux world you do have to contend with two main things:
- A lot of your natural software choices are Open Source projects
- Open Source projects can be maintained by anything as varied as a big, multinational organization (profit or non-profit) to a lone 10 year old learning to code
- The Linux world is diverse, fragmented, and open
- for software installation this primarily means that the dependent software tools an application expects to already be on your system when you install it may or may not actually be there (or they may not be the right version). Not all software developers (especially the more obscure, one guy in his basement, developers) are willing/able to automate their installation process to the extent needed to get around this.
- This has been a long standing problem and the Linux community has made major strides to fix it. There are several new application paradigms being widely adopted to directly tackle this problem (however because it is an open ecosystem, we are currently watching these different solutions battle each other for supremacy - both a downside: fragmentation, and an upside: choice and competition).