If you’ve got a rooted Android device, there may be several full ROM builds available for your device. These ROMs are full system builds of Android with various customizations that often go above and beyond the stock Android experience.
ROMs are generally built for one or more specific purposes. Some ROMs (the famous CyanogenMod for example), are built with many extra features and options that go way above and beyond the base Android options. Other ROMs are streamlined for speed, with overclocked kernels and many memory tweaks to optimize the device.
Regardless of the ROM’s purpose, there are only two ways to build a ROM, from the Android Open Source Project (AOSP) source code, or by customizing an existing build of the OS for the device. Read more about them after the break.