Next to zero backward compatibility: most distros insist all software must be recompiled for the current version of a distro.
I can imagine a future scenario as follows: user buys device X, during checkout selects Y as preferred OS. All OSes of note that can run on device X, are included as option.
Selected OS is preconfigured to run on device, using some enterprise scale fully automated system, built atop a vast database of OS versions, drivers, configuration options, device-dependent defaults, etc, etc, going at least 10 years back for popular options.
How this works exactly, is (mostly) irrelevant from user point of view. Might be standardized configurations for some niche OSes (with limited set of supported devices), different flavours of current / popular OSes, components compiled on-demand on server side, cached or not, binaries for every relevant version/OS pulled from database, etc, etc. The point is it's all automated, all options & their combinations are put into a constraint solver of some kind (like advanced package managers of today), and resulting OS image for preloading on device, is generated on demand.
Upon receiving device, user browses through a Play Store like environment, or even a souped up start menu with 100k+ entries most of which are greyed out, some present pricing options, caveats, user reviews, etc. Payment options are mostly automated, a configuration setting or 2-second "I'm okay with that!" away.
Upon selecting a (greyed out) app, server is contacted. Informs OS what VM or emulator to set up, what libraries & compatibility layers to install, what settings to apply, etc. Again: fully automated. App binary, game data etc is pulled from database or generated on-the-fly in same fashion as OS image used to preload device.
There may be community maintained versions of this "enterprise scale, database backed system". There will be commercial ones. Some may be run as a Netflix style service. Some apps may run server side, streaming to user device. Or be browser based using tech like WebAssembly. But for the vast majority of users, it's irrelevant to the point of "buy device, select preload option, and run apps".
Most pieces are already in place: a vast selection of (binary) apps & OSes including open source ones. Emulators, virtual machines, compatibility layers, binary code translators, Snap, Flatpak, etc etc. Figuring out which combination of options could be used = constraint solving. The state of the art in that has advanced considerably. Automated build farms and networks of download mirrors or other content distribution systems, are in place & actively used.
Yeah I know this is just a vision, and some puzzle pieces are missing. But one can hardly deny that in software land, there is some degree of convergence going on. Major OS choices these days are Windows, Mac, Android or Linux. All offering a comparable feature set, with considerable cross-polination in terms of software libraries, GUI features, and hardware support. Making it (almost) possible to run any popular application software on any popular OS. Not to mention AI powered 'coding bots' that -in near future- may plug some of the holes.
So the answer to question raised in the article: in practice, it is less & less relevant. Pick a set of apps, pick OS, pick device supporting that, download & enjoy.