The answer to the question above is one word: Availability. There isn’t any other custom ROM that will probably have a version ready for your smartphone. What about the official Android releases? Here’s that answer from a Cyanogenmod developer:
How different is Cyanogenmod from Android Open Source Project (AOSP) ?
AOSP only actually builds for approximately 10 devices (Nexus’ and Xooms). CM builds for over 60 for any particular branch (gingerbread, ics, jellybean) plus all of the derivative/unofficial Roms. CM is a combination of multiple sources, using code from Code Aurora (CAF), OMAPzoom (TI), kernel code and blobs from OEMs and of course our own code. So we actually vary a lot “under the hood” but we like for it to appear to the end user that CM could have been (and functions) as if it belonged there from the manufacturer.
So we see from the above interview, the official Android open source project only freely releases the latest version of android to the Galaxy Nexus and Xoom family of devices. If you want android 4.0 or newer on your old busted smartphone go to CyanogenMod and get hooked up.