This was the very reason that prevented Google to release Google Chrome for Linux.
At least on Debian, it plays perfectly well with the Distro's package management. They use it to auto update google-chrome in preference to their roll their own on effort Windows. The same update system works perfect well on all Debian derived distro's. I'm not familiar with an rpm based distro to say for sure, but I imagine the situation is the same. So "fragmented" means supporting 2 very well tested distribution systems rather than rolling their own - and having the "take out all Macbooks" problems they did on OSX.
2% of the human population are 154 million people. Sure, not everyone has a computer, so let's say 66 million people, this is the population of France.
> There are many, which one would they port to?
You don't actually need to support a specific desktop environment. Any UI program that you write will work just fine on KDE, GNOME, DWM, etc
But which versions of which libraries do you target? Every distribution has its own menagerie. There is no well-defined "Linux platform" like there is with Windows (https://docs.microsoft.com/en-us/windows/win32/api/).
If your software is proprietary (or not popular enough to be found in most repos), there's always container technologies like Snap/AppImage/FlatPak/etc.
As a Windows dev I find both of these to be vastly superior to the standard Windows practice of shipping every DLL that's not in system32 alongside your executable, on top of whatever VC++ redistributables and/or .NET framework might not be present on the system.
> There is no well-defined "Linux platform"
There actually is! https://en.wikipedia.org/wiki/Linux_Standard_Base