Some of this feels out of date. I've used a fair amount of what seems like obscure peripherals and they've all worked fine for at least a few years. That definitely was
not the case in 2008 and desktop Linux was legitimately hell at times back then.
As far as relocatable installs, this is entirely a choice on the part of distro maintainers and a consequence of how the packages are built. They can be built in a way that allows you to put them elsewhere, but it would defeat the purpose of having a package manager. Which makes me wonder, does winget support relocatable installs? I'm sure you can at least understand why Linux distros have chosen to do packaging this way. The killer app for Linux is server installs. It might be perfectly fine to allow users to move around software they've installed after first installing it on a single-user home PC, but it destroys the possibility of automation. A package manager can't know where the software is if it's constantly moving, meaning it can't upgrade or remove it without significant user interaction, which can't possibly scale to data centers full of servers. Different needs for different markets, unfortunately, but to me, even at home, this is an advantage of Linux, because I have many devices.
I guess not being choose between hundreds of media viewers might matter if you're actually a professional media editor or creator, but very people are that. Granted, any professional use of a computer other than making software is going to benefit from Windows. Professional software just targets Windows. That's on the creators of those packages, not the system itself. Whether it's CAD, media editors, the Adobe suite, software teams that charge for use don't like Linux. But they don't like it because people aren't using it. It's a chicken and egg problem.
I'm not sure I actually agree with the ease of adding and moving Windows software, though. One of the big problems is it's often impossible to completely uninstall something. Applications quite frequently drop files all over the place that Windows Installer doesn't know about if it wasn't registered upon installation, and it's even worse if your "installation" doesn't use Windows installer at all and it just you copying an executable file somewhere. Did it leave data in %PROFILE%/LocalLow/AppData, %PROFILE%/Local/AppData, or %PROFILE%/Roaming/AppData, and what the heck is even the difference between those? Where is it putting logs? Where is it expecting config? Without any sort of filesystem hierarchy standard like Linux has, there is no way to know, and systems just gather cruft over the years to the point that common advice is periodically wipe your entire root filesystem and start from scratch.