It would help if Apple decoupled the hardware and software releases. As was said earlier, though, it's the way it is because of the marketing geniuses.
Apple could still do a point update (like an iOS 7.2) for features exclusive to new hardware. But as it is, they drop new hardware and massive software rewrites at the same time, leaving lots of bugs to sort out. Then big changes (like the iOS6 to iOS7 UI changes, or the deep changes of iOS8) could come as full updates when ready, and the software could stay in beta as long as was needed, unlike now where it goes out filled with bugs. With the current schedule, programmers are basically being forced to spend too much time bugging, and too little time debugging.
And do public iOS betas, Apple. There will be herds of the willing ready to test your beta software for you. Millions. It's already being done with OS X. And those of us who need your software to "just work" will be able to have confidence in actual final releases.
And, to the marketing geniuses: does a bug that wipes out iCloud storage, or one that effectively disables calling on brand-new phones, help you sell more phones? Oh, who cares about that, right? Your "Top. Men." are doing Vogue interviews, that's what's really important.