I'll give an example of why I rooted my phone. I am currently using SwiftKey as my keyboard in landscape orientation and the Google keyboard in portrait. Normally, you have to manually change the input method to switch keyboards. To make my phone automatically switch keyboards when I switch orientation, I needed to use an app called Keyboard Manager.
Keyboard Manager requires root. The reason is that on an unrooted phone, Android will only allow the input method to change via user interaction only. That basically means the user has to manually select a different keyboard before the keyboard changes. Once I rooted my phone, that restriction is lifted and the Keyboard Manager app can then change the keyboard when the orientation of the phone changes. Without root, Keyboard Manager cannot override the keyboard.