I heard this phrase or the variants (rooted phone, rooting, etc.) in android forums but I don't know what it means. Can you explain it in simple terms?
To 'root' your phone means to gain administrative rights on the file system of your phone (in linux, root is the username of the master admin). With root access, you can install and uninstall anything you want on the phone.
Most phones come with limited access regarding what you can and can't do on it. This isn't necessarily a bad thing, because it can keep users from accidentally breaking something they shouldn't mess with on the phone, especially in regards to the operating system. However, many manufacturers limit your rights to things that aren't really so mission critical, too, and rooting the phone gets around this.
If you have a few unnecessary applications (bloatware) pre-installed on your phone that you cannot uninstall, rooting will give you this ability. It will also allow you to upgrade to newer versions of Android before your phone's manufacturer and/or cell provider make the updates available to you. Be warned, though, that rooting may void your warranty.
For more info on what rooting enables you to do with your phone, check out this question.
When you "root" your phone you are unlocking the administrative privileges of the phone which by default are locked by the manufacturer. It's similar to "Jailbreaking" in the iphone world.
Rooting your device allows you to do things like overclock or underclock your CPU, delete those preloaded apps that your phone wont delete like Amazon MP3 or Corp Calendar, install certain apps that require root access, load custom ROMs...
The manufacturers don't want you to have access to these options for a number of reasons including but not limited to:
In short, it means to get administrator access to the phone. To do things that a normal (non-administrator) user of the phone cannot do.
To gain root (administrator) access to a phone.
'root' is the user with UID 0, which is the equivalent of a full 'System Administration Account'.
It means you have the permission to do anything. Anything includes opening protected ports (for example for WiFi-tethering), update and upgrade the OS and all software, replace the operating system with your own software, full access to every file on the machine, and the ability to delete any file, including the entire operating system.
This is a bit of an amendment to everything. Essencially Rooting is Jailbreaking. You are a user, you don't have administrator access to your own phone. Rooting is the process of getting access to the "root" user. Once you have root, there are some fun things you can do.
Recently rooting is getting more efficient and with 1-click rooting coming up, it should be a breeze for most people, just set up and let it run for a half an hr.
The only risk is bricking your phone (screwing up some critical software thus making it impossible to start it up or install a fix).
Other answers are already correct, but just for a bit of nerd reference. In all Unix-based systems, there is a "root" user who has access to any and all functions available by the operating system. This is a very powerful (and dangerous) privilege because once you are root, you can do anything, and much of what you can do can completely destroy the system.
This is why when you administer a server, you usually don't do it as root so that you can take advantage of the operating system saying "umm... you don't want to do THAT!" when you accidentally ask it to wipe clean the entire hard drive at 3am.
This question is one of the most viewed on this site, yet all answers say the same: "getting admin rights, let's you do stuff like xyz and abc". The latter is not really part of a relevant answer, and indeed there is already a question here: what can a rooted phone do?.
Sure rooting equals getting admin rights, but let's add some more details: how admin rights are implemented in Android. Whats happens, on a technical level, when you root a phone? A new program/applet becomes available: su. It sits in the /system/xbin/ folder and allows users to switch to a different user ID --including root (aka admin).
Remember that in android applications normally run under their own user ID. So if 1) su exists and 2) an app uses it to change to root, then the app can do anything the root user could do!
Not all rooting methods produce the same change. For example many methods rely on an additional app called superuser.apk that has a custom version of the su binary. This lets the app act as a permission control manager whenever su is invoked by an app.
In addition to su and superuser (or SuperSu), often busybox gets installed as part of the rooting script. These three files (technically busybox is a set of files) are the most common additions when we talk about rooting a phone.
It is not trivial to just copy a
su to the folder yourself, as the /system partition is mounted read only and you need root rights to (re)mount it as writable (and you'd need write permissions if it was).
One 'indirect' way of doing this is using a recovery with extended functionality, it can mount /system as writable and copy files to it. In most cases this means flashing a custom recovery, as many stock recoveries are limited to patching only specific (OEM) files.
A more 'direct' way would be to directly flash a new /system partition (with root files) using some flashing tool. Such tools include:
It is relatively easy to copy the /system partition from your phone--or an image file from the web, and flash the root-modified partition back. Lastly you may be able to get a root shell using ADB, if the ROM was compiled to allow it (not common in stock ROMs). Using the root shell it is trivial to remount partitions and copy files anywhere you want--if you know linux commands.
These simple methods work for phones that are unlocked/easy to unlock. When a bootloader is locked the process of rooting can become a convoluted process that may differ between devices, see more specific rooting info here. This is because any custom modifications to important partitions will break the OEM 'signature' and cause the bootloader to refuse loading (bootloop). Or, in some cases the bootloader will just undo any changes.