This misses the point entirely. Android OS should be compared to general PCs; you check out the specs beforehand and the version of the OS it is running in order to know or have an idea of what you can utlilise on the device.
I wouldn't expect to play DX11 games on a windows xp device until I had upgraded the OS and hardware. With a non upgradable device, its vital to have an idea of what it can do and be expected to do in the future.
This is something most of us do with many other devices, be it a computer, a HDTV, a DVD player, microwave etc; we look ahead at our expected usage and what may come about in the future that the device may be able to do or access.
Apps again, should be alikened to software; 'software A' which is utilised for a Radeon HD7800 running windows 7, may not be able to run at all on Windows Vista on a Nvida 8800 GT. Its misplaced then to blame the platform when getting burnt by not understanding the 'recommended specs' of the software.
The philosophy or the end product of how Android and IOS work offer alternative uses for different users. The trade off for a more PC-like platform is to have the same issues which confront PC users. However, anyone who is familiar with Windows and understands that it is not a closed system and yet can navigate themselves with minimal confusion regarding hardware and OS and the combination's compatibility with a specific piece of software, will have little problem with Android, understanding the tradeoff of the OS.
Obviously, with far less combinations of hardware and software configurations, as opposed to the almost infinite combinations with Android devices, Apps developed for the IOS platform will be less varied in compatibility. The tradeoff with IOS is that apps are somewhat held back by the capabilities of the lower end IOS devices and I'd say are artificially restrained.
So they both have pluses and minus'; the perspective is based on the user's preferred use of their device. No right or wrong answer.
Actually whilst equally valid this answer too misses the point. The OP is asking why fragmentation is bad and which is worse iOS or Android.
The day the average consumer has to start approaching buying a handset like a computer with the same variables is the day the mobile phone market pretty much dies.
Your explanation only further expands the reason why fragmentation is bad and why Android fragmentation is worse than iOS with its finite set of hardware rather than an infinite set of variables in the android approach.