When it comes to Android ROMs, CyanogenMod and MIUI are most popular ones and mostly used. Installing ROMs on android phones is a bit easy if you are experienced or if you have done it before. But it is difficult for beginners to start with Flashing ROMs on their phones. One wrong step and you can have your phone bricked.
The only thing which is better in Android is that it is Open Source, so developers are allowed to download and use the Android source to develop their own modules. Developers started creating apps, then collection of apps, then ultimately they started to build their own custom ROMs for android phones.
Here's Quick Navigation if you want to skip the Introductory part.
MIUI started as a ROM, and now it turned out in a company we call Xiaomi. It is China's one of the biggest smartphone company, and the smartphones are basically based on Android's variant, MIUI. CyanogenMod was an equivalent competitor for MIUI but the evolution of MiPhones from Xiaomi created huge buzz and added popularity to MIUI ROM.
MIUI was basically inspired from Apple's iOS and was released first with Android 2.3 Gingerbread and then with Android 4.0 Ice Cream Sandwich. There are a lot of developers over at XDA who ported MIUI for a wide range of phones.
The ROM comes with increased functionality and apps. The interface is a lot like iOS 6 though with orange and white color scheme. MIUI comes with totally different interface for default apps like Contacts, Messaging, Settings etc. MIUI's default launcher MiLauncher is again very popular and beautiful launcher for android. Apart from the default apps that comes with Android, there are some extra apps in MIUI, like Compass, Virus Scanner, Backup, Data Usage, MiCloud etc. So, MIUI's users don't have to install any extra apps for backups or for cloud storage.
The officially supported phones have OTA(On-the-Air) Updates feature and updates are released on every Friday. If you don't know much about MIUI ROM, check out the above video which shows the beautiful interface and lots of features in the ROM.
Installing MIUI on your Phone
Here's ultimate guide for beginners to install MIUI ROM on your phone. Note that this is a general post and the steps are almost similar for all the phones, what is different is recovery and ROM installation procedure. All the phones have different hardware and it requires different drivers for MIUI ROM to support the hardware and make things work properly.
I recommend you to read all the steps first and then figure out the things as pointed. Also, since every phone has its own MIUI build, I can't share the download link for every phone here. You can search MIUI for your phone on Google or XDA Forum.
This is very important part. The first and mandatory thing is that you should have an unlocked phone with a Custom Recovery Installed. You will also need a kernel if you have Sony, or HTC phone to run MIUI on your phone. Good thing is, if you have MIUI for your device, then the kernel should also be there, you just need to search and read. You can't install MIUI with the default recovery of your phone.
You have to make sure that there's an Official MIUI ROM for your device, which you can check on XDA forum or MIUI's website. Though most of the smartphones from the manufacturer's like Samsung, Sony, HTC are either Officially or Unofficially supported. You need to check it before you step forward.
And also, if you don't see MIUI for your device, don't try to install MIUI for a similar device on your phone using this guide, and if you do so, you will probably end up with a bricked phone.
The first thing you need is to back up all the contents of your phone to your desktop. Taking backup of the contents of SD Card is easy, just mount the SD card on your desktop and copy it. You also have to export your contacts in case they are not in sync with your Google account. You can also export messages using apps on Google Play Store. Apart from that, Go Backup is a perfect app for taking backup of phone apps so you would not need to install them again later. Go Backup backs up all your phone apps including their data and store them in your SD Card.
Though there will not be any problems if you read and perform the steps carefully, but sometimes you can get your device off or even bricked, and in that case you will have your data backed up already.
Flashing Kernel, and MIUI
Download the ROM on your desktop and copy it to your phone's SD Card. You need to flash the kernel on your phone first, and the kernel will install a Custom Recovery Mode on your phone.
You need to boot into the Recovery Mode, using the Recovery button combination of your phone. You can search this on Google because the button combination for different phones is different.
After entering into the Recovery Mode, you have to do the following things in the same order, Wipe Data/Factory Reset, Wipe Cache, Wipe Dalvik Cache(if available).
Now, you need to select Install ZIP from SD Card, and point to the MIUI ROM you copied on your SD Card. It will take sometime to flash the ROM on your device and once done, just restart your phone to boot into MIUI.
Getting Started With MIUI
The first boot will take some time, so don't Power Off your phone if you don't find it loading after the Xiaomi boot screen. Once booted, it will show you the first installation screen, where you can add your Google accounts or MIUI account, connect to network etc.
You will then see Homescreen with beautiful icons and background. Just as other launchers, you can long press the icons and drag anywhere according to you. You can place the previously exported contacts and messages and import them on your phone. You can install Go Backup and then restore the apps with data.
Just like CyanogenMod's Themechooser themes, MIUI also have themes feature and a very large community of themers. There's a Themes app which allows you to download themes for your MIUI. One of my favorite is iOS 7 theme which makes your MIUI look like Apple's recently released iOS 7 interface.