Rooting is the process of allowing users of smartphones, tablets and other devices running the Android mobile operating system to attain privileged control (known as root access) over various Android subsystems. As Android uses the Linux kernel, rooting an Android device gives similar access to administrative (superuser) permissions as on Linux or any other Unix-like operating system such as FreeBSD or macOS.
Rooting is often performed with the goal of overcoming limitations that carriers and hardware manufacturers put on some devices. Thus, rooting gives the ability (or permission) to alter or replace system applications and settings, run specialized applications (“apps”) that require administrator-level permissions, or perform other operations that are otherwise inaccessible to a normal Android user. On Android, rooting can also facilitate the complete removal and replacement of the device's operating system, usually with a more recent release of its current operating system.
It's easiest to try a few tools for rooting such as I describe in the following chapter under 'Root apps', these apps can use some exploits to root your device, however, sometimes you need to unlock your bootloader using for example Odin. Therefor, it's wise to Google your model on how to root before you begin. Sometimes you read somebody using your model had luck with a easy to use tool, give it a go then! Other times you need sources like XDA to get your device rooted. XDA is a wonderful forum that is very popular, and it features many guides for rooting specific models.