And at the very least, the publishers could keep their previous iOS5 and 6 versions also available on the app store for users of the older devices. But Apple has an obvious incentive not to allow that, and they don't.
If you’re talking about apps in the Apple App Store, what version they will work on is totally controlled by the programmer who makes the app and not by Apple.
That developer “CAN” very easily make their app continue to work for older iOS versions, but the developers THEMSELVES choose not to, for the most part. They choose not to because it’s not worth the effort for them to do that. In other words, there are not enough customers for them to do that, and put their OWN RESOURCES into it, for just a handful of customers, compared to the overall market they have.
We’re not talking about “Apple’s resources” here, we’re talking about the “DEVELOPERS’ RESOURCES” and many of them may do their developer work on a shoestring.
If you have a complaint about a developer not keeping an older running version of their program around, then write to that developer. Apple doesn’t control that aspect.