There are many reasons to dislike Nvidia on Linux. Here is a little thing that bugs me all the time, the updates. Normally the system updates would be quick and fast, but with the proprietary drivers of Nvidia involved, it gets quiet slow process. And I am not even talking about any other problem I encounter, just about the updates.
As an Archlinux based system user (EndeavourOS to be precise), I get new Kernel updates all the time. That means every time a new Kernel version is installed, the Nvidia driver DKMS has to be installed too. And that is basically the slowest part. But that's not too bad, even though it's doing this twice for each Kernel I have once.
What's more infuriating is, if you also happen to use Flatpaks for a very few applications. I really don't have many Flatpaks at all. Yet, the Nvidia drivers are installed in 7 versions or what?! And they are full downloads, each 340 MB or more. This takes ages and is the only part that takes long to update Flatpak system. I always do flatpak remove --unused to make sure nothing useless is present. /RANT (EDIT: Just typos corrected.)
You have a bunch of duplicated stuff because flatpak is a piece of shit. With traditional packaging apps supporting your platform would get exactly one choice. Support the fucking version of nvidia that everyone else gets to or fuck off. In all likelihood all your shit would work work with the most recent release but because they have the option to be lazy fucks and make you download Nvidia 7 times this is your life now. Also if dkms takes appreciable time you either need to stop running Linux on a toaster or delete some of the 17 kernels you are hoarding for some reason. You need like 2 the one that you know works and the new one you just installed.
As an app developer, we provide the source, binaries, and a Flatpak, but we sure as hell aren't going to help you debug the Nvidia drivers on some random distro if you don't pick Flatpak.
Why would you need to? Apps might likely need functional drivers for your hardware to exist but most things aren't going to directly relate to or depend on a particular version of the nvidia driver. If it does you might be a bad developer.
Well the main reason is we target a certain graphics API which Nvidia, AMD, and Intel all support, but driver updates do from time to time have regressions and we have to work with Mesa to fix them.
It's also not just graphics. Our app depends on a certain library version as well, and if you don't use Flatpak, that becomes an issue for some of our users to grab too.