2. Update Nvidia drivers and everything breaks
3. 99% of laptops have at least one device with missing or broken drivers. 802.11ac is very old in 2021, but the most popular ac chips still need an out-of-tree driver which will break when you update your kernel. Have fun copying kernel patches from random forums
4. Even the smallest of changes (ex: set display scaling to something that's not a multiple of 100%) require dicking around with config files. Windows 10's neutered control panel is still leagues ahead of Ubuntu's settings app. (Why are the default settings so bad? High DPI 4K monitors have been out for a decade now. Maybe they've fixed this since I've last checked. Or maybe all the devs use 10 year old Thinkpads)
5. Every config file is its own special snowflake with its own syntax, keywords, and escape characters
6. Every distro is its own special snowflake so it takes forever to help someone unfuck their computer if you're not familiar with their distro. Releasing software on Linux is painful for a related reason: The kennel has a stable ABI, but distros don't. You have to ship half the distro with every app if you want it to work out of the box. Using Docker for GUI apps is insane, but sometimes that's that you gotta do.
7. The desktop Linux community seems to only care about performance on old crappy hardware.
8. Audio input and output latency is really high out of the box. That's one of many things that require tweaking just to get acceptable performance.