Why I personally root
1. Better backups (nandroid): You can perform a complete clone of your phone that you can restore at any time
2. Better backups (Titanium): You can backup any app and its data, including system apps.
3. Remove unwanted system apps and bloatware
4. Control what apps can access on my phone. E.g. deny apps from accessing my location or call list. (I use LBE for this)
5. Install custom ROMs (community generated firmware basically)
6. Install performance mods
7. Install themes such as different notification bars
8. Change the screen density of my phone. (It’s kind of similar to changing the resolution on old CRT monitors)
9. Delete unwanted sounds, e.g. camera clicks
10. Some useful apps require root
11. And of course, with this being OcUK, I have to mention... Overclocking
EDIT\ and more..
12. AdBlocking
EDIT2\ I don't think it's stressed enough that rooting is risky. By allowing an app to have access to the root of your phone, you pretty much allow it to do anything. So far I've not heard any horror stories of apps doing things they shouldn't but the risk is there and a lot of trust is put in the developers. Not to mention trust in the fact that Superuser (or Super SU) isn't exploited, thereby allowing apps to access root even without your permission.