So what is the difference between Android and CyanogenMod?
About 1-2 times a year, the vanilla Android operating system (known as AOSP, or the Android Open Source Project) is internally developed, then released to the public, by Google. They provide the source code to anyone who wants to download it. The CyanogenMod community, comprised mostly of unpaid volunteers and enthusiasts from around the world, takes this newest Android code and "ports" it to dozens of new and older (aka "legacy") devices. At the same time, other CyanogenMod developers start adding features, fixes, and improvements that Google didn't include to the CyanogenMod code, which benefits all the devices. The CyanogenMod community has a whole infrastructure for people to build and test experimental versions, report bugs, and contribute back to the source code.
Sometimes features that started in CyanogenMod have appeared in newer version of "official" Android. And every time Android does a new "code dump" of their latest version, CyanogenMod benefits from Google's changes.
In this way, CyanogenMod is one (but not the only) community distribution of what started as vanilla AOSP. The Android community is vibrant, with numerous "modders" and "themers" and "performance enhancers" taking the source code and doing incredible things to it. Generally, there is a spirit of sharing knowledge and empowering people to experiment with controlling their devices, often giving old phones new life, and hopefully having fun in the process.
Source:
http://wiki.cyanogenmod.org/w/About