So, when you build something as big and complex as an operating system, your single biggest enemy is: change. The more things change, the more you need to test and retest to be absolutely sure that those changes didn't have any unintended side-effects. This is why, in the process of reaching a GM build, the ability for groups to change components is gradually locked down. The final lock-down is GM, and this usually happens around 1 month before the first customers see the next OS. This time is needed to "prime the channel". That is: you need to press the disks, prepare the marketing material and the packaging, do all of the final validation testing, and start shipping the software to stores.
In the case of SnowLeopard, that meant that development was done, and GM was declared, in the 3rd week of July. SnowLeopard shipped on Aug. 28th. Know what happened between those two dates?
Flash Player v10.0.32.18 ships on July 30 with critical security fixes: http://www.adobe.com/support/security/bulletins/apsb09-10.ht...
Remember all the fuss? No? Here's a reminder: http://www.zdnet.com/blog/security/snow-leopard-ships-with-v...
In particular, people were incensed that installing SnowLeopard on top of their Leopard systems that already had an updated Flash player actually reverted to the vulnerable version. Why? Because Flash was part of the OS. It was part of the install package that gets laid down fresh, instead of being part of the user installed software that gets migrated from old to new OS. And because Adobe didn't get the Flash update to Apple before GM was declared.