Two great resources for understanding this more deeply are: code.google.com/p/android-roms/wiki/Obtain_Root and the CyanogenMod Wiki. The latter does a great job of defining terms throughout, so even if your goal is not to install CyanogenMod (which they also define :) ), the wiki is a great way to fill in gaps in your understanding.
– AmandaMar 20 '11 at 16:16

7 Answers
7

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.

Nice answer... I also like the part where you said ` It will also allow you to upgrade to newer versions of Android`. Any good resources you can recommend for that ? (Hopefully One of your prior answer..)
– Jason KrsJan 9 '18 at 22:17

Why is bloatware such a big deal for many users? As long as the phone works well, and one can disable the blatware (I do not because I do not pay attention to them), everything should be fine.
– neverMind9Jul 15 '18 at 13:01

A big one is that you can remove critical system components and require a wipe (reinstall). They don't want this. Too much dissatisfied customers and tech support calls :)
– Dmitriy LikhtenSep 14 '10 at 17:59

@DmitriyLikhten I doubt that its tech support and neither customers satisfaction, instead its making money on bloat and surveilance.
– humanityANDpeaceFeb 23 '16 at 18:12

'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.

Remove "system" apps like Sprint's Nascar or NFL apps.

Use tools like Open Tethering to do wifi tethering (for free)

Underclock or Overclock your processor (underclocking with SetCPU helps keep battery usage up while not really affecting performance when your phone is in idle/etc.)

Install a custom recovery tool.

Nandroid Backup -- A complete dump of your android's internal memory to the SD card which allows you to do a very clean backup and literally roll your android back to that point when needed. Also allows you to swap operating systems in minutes by having 2 backups, 1 of each.

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).

The above 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.

[EDIT] I was going to modify my answer to say "In the other answers" but then realized that the effect this would have would be to render the comments beneath (assuming they're still there) nonsensical.

I'm not seeing a strike-through in the text editor, so, I'll just amend here that I should have said "In the other answers" rather than "In the above answers".

careful about using something like "the above answers" in your own answer -- if you get upvoted to the top, you'll no longer make sense. Then you'll get downvoted, and make sense again. And then get upvoted, and....
– Michael PaulukonisSep 14 '10 at 16:55

1

@MichaelPaulukonis - woh.. now I'm confused - should I be upvoting or downvoting?
– Scotty.NETJan 9 '14 at 13:07

1

I have no idea. It was a gentle nudge to posters to provide links to answers, instead of relative terms that change based on external ordering parameters.
– Michael PaulukonisJan 9 '14 at 14:05

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:

odin(PC--Samsung only)

fastboot(PC--Generic Android)

flashify(app--Generic Android)

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.

"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)." -- the whole ROM is not responsible for that, only the kernel is. Make changes into the kernel and you would have insecure adbd running in your machine (adb root, that is).
– Firelord♦Dec 2 '15 at 5:57

"any custom modifications to important partitions will break the OEM 'signature' and cause the bootloader to refuse loading (bootloop)." - per Google's instructions here, in case of signature mismatch, the bootloader must issue a warning which isn't alike to refusing the user to boot into OS. Why would it cause a bootloop?
– Firelord♦Dec 2 '15 at 5:57

@Firelord You are right about boot being the partition that controls the ADB root permission. But I didn't wan't to get too specific. Feel free to suggest edits.
– jiggunjerDec 2 '15 at 6:04

@Firelord Regarding the bootloop: because if all a locked bootloader did was issue a warning (and continue to boot), rooting would be easy. The reason simple partition flashes on locked devices fail is because the bootloader detects a change. Or am I missing something?
– jiggunjerDec 2 '15 at 6:08

Thank you for your interest in this question.
Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).