I think it was just a nice middle ground.
Warning: anecdotal knowledge ahead.
Commodore/Amiga had basically just one configuration which sold exceptionally good - C64 and A500. Revisions worked well by maintaining compatibility, but did not add any extra performance.
Then came the C128, which had a C64 compatibility mode. No seamless upgrade, but rather a 2-in-1 solution. Developers did not really adopt the new platform well, because they would be cutting out a huge userbase, so the C128 never really caught on.
For Amiga - they did both Hardware and Operating System themselves, retaining pretty good compatibility, but ultimately went bankrupt, and with them their ecosystem died.
The Intel-based IBM PC had everything right in hindsight: variations of the hardware in terms of CPU, RAM, disk drives, sound cards, peripherals... you could buy a new PC, drop your cards in, re-use your disks.
DOS was great. I think 6.22 still worked on my 8088 with no problems. All old software I remember could be run on any newer iteration (8088 -> 286, 386, 486; DOS 3.3 -> 5.0, 6.0, 6.2, ...), and new software could be run on a rather old PC as well, if it were not for speed - I remember playing Wolfenstein 3d on my 286, in a very small window though.
For graphics, there were just a few standards: (Hercules,) CGA, EGA, VGA. Always backwards compatible, so a VGA card could emulate EGA and CGA. Old games running on a newer PC was the norm. Games were DOS-based anyway.
There were no drivers. VGA for games was the norm, and it was standardized. No matter the vendor, a VGA card understood VGA commands, and that was about it.
Sound cards needed drivers, but there were just a few standards, and games supported them. SoundBlaster Pro/16 and AdLib were the most popular.
Hardware vendors had to make their cards compatible to those, then they worked as well. I had an ESS Audiodrive which was much cheaper than an original SoundBlaster, I just told all the games I had a SoundBlaster 16 and it worked perfectly.
Changing expansion Cards, RAM and even CPUs was dead simple. You open the case, one screw holds the card in place (same system as used still today btw.).
For RAM and CPU no extra tools were needed at all. Only with 486s CPU fans became popular. Up to 386s it was common for CPUs to not even have a heat spreader.
You could salvage old parts from whoever got rid of them (schools, companies, friends), and upgrade your old PC for free!
Security was not an issue back then. Viruses spread via diskettes, and manual virus scanners were popular and necessary. But apart from that, when a system was running, it ran until it was replaced.
There were no annoying security updates, it was not uncommon to leave an installation of Windows 3.1, Word 6.0 and whatever you needed untouched for a couple of years.
Fast forward to Android.
Starting with a couple of screen resolutions, different sets of hardware buttons, CPUs with varying speeds, and entry level devices with way to little RAM. Top off with apps requiring OS updates which are unfortunately not available for that pricey device you bought just one year ago. Those are the true downsides of an open platform: vendors trying to cater to a price point which tecnically works, but in practice just ruins the experience.
Back to DOS. During that period, I perceived no fragmentation. Everything ran everywhere, if your CPU could handle it. Oh, the only thing that absolutely needed a driver loaded in CONFIG.SYS was the CD-Rom drive.
Graphics Cards were among the first ones to fragment the platform: using Video Drivers in Windows 3.1, you could go beyond 640x480 with 16 colors.
This continued with Windows 95, when sound cards did not even bother to retain Soundblaster compatibility - handling Windows Sound was enough. At least Video cards remained VGA compatible, and still are, up to this day.