For hardware support, the biggest thing is stable kernel ABI for drivers.
> the combinatoric jungle that is compatibility
Windows doesn't have combinatoric jungle. With their amount of supported hardware, combinatoric jungle would be prohibitively expensive even for Microsoft.
Instead, Windows has well-specified ABIs the drivers must conform to. And a set of development tools to verify that's the case, both static like code analysis, and runtime like driver verifier.
I was an early adopter of Linux and used a lot of weird hardware with it, and no combination of dragging windows ever caused the computer to reboot. What annoyed me most about Linux is how I got used to the brokenness, and it got fixed without being able to replicate the brokenness I was used to. For example, circa 2012 I got an early 4K monitor. It was implemented as two scalers connected to one panel, with both scalers connected to the same Displayport interface. Basically, it appeared to the computer as two separate and totally unrelated monitors, but was of course a single monitor. I could not for the life of me get Linux to treat both panels as a single monitor. But I used multiple monitors in the very early days of Linux, before XRandR, and I could never get it to treat my two monitors as separate devices -- windows would just pop up right in the gap between two monitors; X had no awareness of where the boundary was. I longed for that behavior, but the option was simply removed... because who would ever want that brokenness? (I did end up getting it working. There was a bug in the Nvidia driver that allowed you to turn on two options that caused all XRandR related functionality to silently break, and then my one monitor appeared as one monitor to the OS. Of course, even though my graphics card had 3 more video ports on the back, I could never connect another monitor. And I was always worried that a driver update would fix the multiple-interacting-bugs. But it never did! Or at least I replaced the monitor before it became a problem for me.)
There's an open bug on their issue tracker with many more suffering from their lack of support. If you you don't use screen scaling, you might not notice it.
Native notifications are simply not implemented, so I guess you merely just haven't noticed that one.