And more from the horse's mouth (blogs.adobe.com) (note that Adobe isn't nearly as opaque as Apple):
"Think of what fixing something [in CS3] would mean: all your engineers (QE and Dev) haven't touched that code/processes in 3+ years and have been working on 2 generations ahead. You'd have to stop work on CS5, have a huge paradigm shift to look at the older code/tools/problems, frustrate all your engineering staff doing that (no one wants to look back at bugs they already fixed), reconfigure build machines and test machines (remember Apple's dev tools are tied to OS releases, so to build CS3 you'd have to setup Tiger Machines to build, using old versions of XCode, and debugging can't be native so you must use painful remote debugging, etc.). When you think about it, it quickly becomes impractical. Basically, the choice is fixes for CS3, costs for the switch backwards would probably well into the 8 figure dollar amounts, and a 6 month delay for CS5 (with an even higher lost opportunity costs), all for the chance to gain no additional revenue and have an investor revolt and stock value plummet, while your current customers leave in frustration because it takes you much longer between releases... or... since you can't fix anything that breaks in CS3, why bother to test much?
If this was your company, which would you choose: (1) Focus on making the best products that you can and making most of your current and future customers happy -or- (2) focus on old products, using old tools and technology, to make your out-of-date customers happy?"