There was a time when to get advanced functionality (and sometimes even the basic functions) you had to root your Android device. But we have come a long way, and Google has loosened up the tight grip it had on its mobile OS; so much so, that there is no longer much need to go the rooting route anymore.
When you root your device, you essentially operate as a superuser on a Linux kernel (Android is actually based on Linux), and you get a deeper and more unrestricted access to your device administrative rights.
Back in the days, Android had a lot of limitations. You could even do simple things like taking a screenshot without rooting the device. Turning off GPS from a widget also required rooting. Nowadays, there is more freedom on the mobile OS. The OS has since become more open, and most of the tasks you could only do by rooting can even be done using third-party application.
However, there are still some people who find Android restrictive. To enjoy the platform they will need to root.