Fragmentation is one thing, but I don't think it's the main point. I've tried Desktop Linux many times. Mostly to avoid paying for Windows. And every time, there is something that I would like to do that I can't do, and then I'm back to Windows.
Whether it's some kind of website addin (things like video conferencing, or offline video player with DRM that require you to download an app), or some development tool (Visual Studio!), or some game, or my printer.
The issue is a catch 22: because Desktop Linux is not well adopted, companies don't develop for it. If companies don't develop for it, then there are things you can do on other systems that you can't do on Linux. And so Desktop Linux does not get more adoption...