1. CyanogenMod
Probably the most famous of all the Android ROMs, CyanogenMod is certainly the most stable and well-updated, at the very least. It's also trying to turn itself into more of a regular business (and a rival to stock Android). Most recently, that's seen it build a one-touch installer that simplified somewhat the installation process. (However, the installer only lasted a week before being removed from the Play store by Google.)
Cyanogen plays it pretty close to stock Android in terms of look and feel – the launcher and settings menus are almost identical, on first glance. However, handy things like a file manager and a better camera app are also included out of the box.
CM's strength, though is in the depth of settings. If you want to customize your phone to be exactly how you want it, CyanogenMod's the perfect ROM, offering deep-level hardware customization that can speed your phone up, and simple tweaks like fixing stock Android's lack of an inbuilt battery percentage.
The best thing, though, is that CyanogenMod is stable – often, more stable than the initial software that ships on brand-new phones. Owing to the number of developers working on it, CM's also updated regularly to take care of any bugs that do pop up.
It has ROMs for almost every phone or tablet you can think of, which can be found here. (You'll probably want to download the more stable Release Candidate software, marked RC, rather than 'nightly' builds, which have more features but are far more buggy, not to mention being liable to break your phone.)
2. Paranoid Android
Paranoid Android offers most of the same minor tweaks to performance as seen in CyanogenMod, but with one big bonus: a hybrid mode. This allows you to scale certain on-screen elements to make them bigger or smaller – say, for example, if you didn't want the drop-down notification tab to take up the whole screen. It's mostly aimed at bigger smartphones with more pixel-dense screens, to allow you to take full advantage of the size.
Paranoid Android also lets you change the color scheme in the settings menu, which is obviously handy if you like matching your phone to your outfit. There's also a multi-window feature in beta, which solidifies Paranoid Android's place as the best custom ROM for phablets, at the very least.
Performance-wise, it's a little buggy, with occasional crashes. However, it's blazing fast, going just as fast (or faster) on a Galaxy Note 2 than the stock Samsung firmware.
A full list of supported devices (and their ROMs) can be found here; most recent smartphones are supported. One holdout is the Samsung Galaxy Note 3, which, owing to its recent release, is yet to get support. However, given Paranoid Android's historic scramble to make ROMs for Samsung devices, it hopefully won't be too long a wait.
3. Slim Bean
Slim Bean offers a minimalist design that builds a little on stock Android, but doesn't bog it down with a laundry-list of incomprehensible options. The emphasis is on simplicity, which holds true for both the user interface – particularly the one-hand-friendly side toggles – and the underlying code, which runs a custom kernel for the processor, in an attempt to get better performance and battery life.
It's also one of the better ROMs for staying updated, with a one-touch update centre saving you the bother of downloading new ROMs when a patch comes out. Sadly, the comparatively small team means performance can be a little patchy, and support is limited to just Nexus phones, high-end Samsung models, and the HTC One. ROMs can be found here.
4. AOKP
AOKP stands for Android Open Kang Project – an oh-so-clever play on Android Open Source Project, Google's name for its open-source releases of Android. AOKP's a stable ROM that aims to be as simple as possible – all the tweaks are hidden in a 'ROM Control' menu, while the rest of the operating system stays pretty faithful to stock Android.
That said, when you do delve down into the depths of the system, it's got just as many options as CyanogenMod – and, in some cases, features not offered. The most centralised approach is certainly simpler, and can help you get your head around the wealth of new options available.
However, it's not quite as stable as CyanogenMod – perfectly usable, but froze a few times when switching between apps on our Nexus 4. There's also a good range of supported devices, especially older HTC, Motorola and Samsung models. ROMs for AOKP can be found here.
5. PAC-man
The PAC-man ROM is for those who want all of the cake – it's an amalgamation of Paranoid Android, AOKP and CyanogenMod (PAC, geddit?). Obviously, then, it's feature-packed to the max, with Paranoid Android's scaling modes, CM's interface quirks and even AOKP's centralized menu settings.
The trade-off, however, is that the newer builds are a little unstable. Although the ROM usually ran silky-smooth on an HTC One, certain gestures would cause it to jutter, or force it into a reboot – not quite ideal. That said, the list of supported devices is at least extensive.
6. Liquid Smooth
If you're the kind of person who gets excited by megahertz and has a whole box of spare computer bits tucked away 'just in case', Liquid Smooth is the perfect ROM. The emphasis is purely on performance and speed – the UI has been pretty much entirely left alone, as naked Android.
Under the hood, though, it's a different matter. You get a built-in menu that allows you to mess with undervolting and overclocking to your heart's content. Even without messing with the CPU settings, performance is markedly better than stock Android. The effect on battery life varied across the devices we tested, but performance could generally be improved by fiddling with the CPU settings, something's that's easy enough to do thanks to the built-in tools.
Sadly, the list of supported devices is woeful – a smattering of Samsung and Nexus handsets, but few of the older devices that could really use the performance boost Liquid Smooth offers. The full list, and ROMs, can be foundhere.