You may have to spend extra work to get things running; but once it's done, it runs forever without a hitch.
I know, I use Slackware. It's regarded as a very technical distribution and some manual configuration is expected but once it's done, it's done. I have configs from > 20 years ago that I still use without a hiccup.
Uptimes of half a year are not uncommon, the record so far is 400+ days. I just don't shut it down unless there's a serious kernel or hardware upgrade.
It just works, non-kernel updates, stuff being plugged/unplugged, couple times I swapped sata hdds without turning off power (which is simple, they are hotplug by design, just don't drop the screws onto motherboard and don't forget to unmount+detach first).
Now, when I used to and test some cross-builds for windows (win7-win10 era), I had another dedicated windows machine for that. And even though I tried to make it as stable as possible, it was a brittle piece of junk, in comparison.
So in my experience, yes, linux is fundamentally different usage philosophy: you don't need to think about what crap Microsoft will break your workflow with next Tuesday.
To solve the chicken/egg problem, the GNU/Linux distributions should generate some very (in particular binary) stable interface for writing applications (including GUI applications) on GNU/Linux - like WinAPI on Windows. With "stable" I mean "stable for at least 20-25 years". This interface must, of course, work on all widespread GNU/Linux distributions.
"Build musl libc statically, set up a toolchain to use it, build libc++ for that toolchain, get libwayland, link that statically (which their build scripts don't support, roll your own), get xcb,libxau,libxwhatever and build those statically as well, and implement TWO platform layers, dynamically checking for wayland support. There's like 5 different ways to set your window icon. Yes, you need to implement all of them. Now for loading the graphics API......."
On Windows it's a call to RegisterClassW followed by CreateWindowW.
An operating system is a style of thinking about your work. WINE is a way to get Windows applications to run (by now run decently) under GNU/Linux. These Windows applications are nevertheless foreign bodies in the whole kind of thinking which GNU/Linux is built around.
It's sad because it's true.
I guess you want a Mac. That's fine.
I value freedom and things not mysteriously breaking and functionality not disappearing, and am quite happy investing a the time and knowledge upfront, so I use Linux.
And then there are people who want to have a system which works out of the box initially and who don't want to learn anything and don't mind it breaking later, and they choose Windows.
To each their own.