The ICS version of Android has been a pretty strange one from the point of view of upgrades from manufacturers and also of the hacking community that are making custom ROM’s for Android phones, like the CyanogenMod team. That’s because ICS was a huge overhaul of Gingerbread. This is the reason it has taken (some) tablet manufacturers a couple of months to upgrade Honeycomb to ICS, but it has taken at least half a year to even start seeing upgrades from most manufacturers for smartphones. It even took Google itself 4 months to upgrade the Nexus S.
The ROM community didn’t have it any better, and it has taken them until recently to even get in the RC stage for their ROM’s. The camera app has been the hardest to fix for CM9/ICS because Google completely replaced the camera framework, to make it faster and more advanced, and this means that all phones needed new drivers for the camera so the app can work. This means that all the developers making ICS ROM’s had to rewrite the drivers for the new camera app. It’s one of the main reasons why it has taken so long for an ICS ROM to become stable (the same goes for manufacturers).
While CM9 will only support a few dozen devices, there are many more developers who are making ROM’s for their own specific phone model, and they are basing those ROM’s on CM9. Why? Simply because of it’s cross-compatibility for many other devices, and its extra features and performance tweaks compared to stock Android.
Google I/O is tomorrow, and we’ll most likely see Android 4.1 not only announced, but also released, which means that the CM team will have no time to rest and will have to get started with adding the Android 4.1 improvements to CM9, or whatever they will be calling it (CM9.1, CM10 ?). They’ve already reached the RC1 stage for several devices today, and this version is coming for more next week.
The RC1 stage is the one after beta, so unless some last-minute bugs show up before the stable release, it should be released a few weeks later.