It is not just hardware problems. Hardware problems I can be understanding about because there are millions of devices out there and I can't reasonably expect all of them to be supported.
No, there are plenty of software problems too. In a recent media PC build I couldn't get sound to work if a browser was launched from Kodi, even after several hours of faffing about with pulse. It wasn't hardware, the sound worked fine in Kodi.
I frequently find myself in scenarios where I want to install software that is not in the repo (every distro has this problem). If there is no PPA or AppImage I will either have to hack up some other distro's package to make an appfolder version or build it from source myself in a VM. That's pretty annoying for something that's trivial in other OSs.
OBS can't seem to remember the various video capture sources between reboots. To be fair to Linux there might be a viable way for it to do so[0], but it isn't using it.
And a ton of other little things I've forgotten because they're so common to my experience of using Linux I don't bother to remember them.
Elsewhere in this thread you can read that other people have the same death-by-a-thousand-cuts thing going on, it's very common.
[0] I imagine using udev supplied device names or something instead of just what's under /dev/video.