Do you have a link explaining su - root? Google is not being helpful, I've heard sudo echo can be used in similar fashion?
su is the Unix/Linux command to assume another users security profile. Users on a POSIX system have both primary user id (uid) and a group id (gid) that defines the basic access they have. Further they can have multiple secondary group id's that enable additional access.
So say your logged in as user bob with uid 10001 (non-privledged uid's should be 10000+) and group id of bob guid (10001), this combination pretty much restricts him to his home folder. Now if he wants to run a command that's owned by bin:bin (2:2) with a file permission of 550. Now to do this he can assume root by running the su command (su root). This will run a new shell with 0:0 as the permissions, it's modern equivalent of running "sudo bash". The "-" part tells the OS to run the new accounts login scripts and assume the full environment vs just switching your uid/gid and keeping your own environment. That part is important as specialized user accounts will often have specific environment variables for them, Oracle RDBMS requires "su - oracle" in order to do administrative tasks. You could also do this by putting bob's user account into the bin group, he would then have semi-elevated privileges and run it as 10001:2.
Now if this was a one and done task, something he'll do real quick and never do again, then sudo is fine. But if this is something bob's going to need to do often, like compile software or edit some file, then the better way to do it would be to configure a RBAC profile that authorizes the user bob access to the specific commands as uid/gui 2:2, or whatever is needed, instead of running everything as 0:0. Bob would then assume that profile by typing "su <profile name>".
Anyhow my general distaste of the sudo command is how it's being used as a one-stop-shop / all-in-one solution for doing any form of administration on a system.
How exactly to do it largely depends on how your distribution implemented it. It's just a bunch of text files under /etc but editing them by hand can be convoluted and often the distribution provides a policy & profile editor.
:Edit:
So if I type "su root" do I need to turn off root privileges somehow or just close terminal? What if I'm doing it on a system without a window manager at all?
Those privileges only exist within that shell session (bash / ksh / csh / sh / ect..). The moment that session is finished (exit) they go away. You should only ever su to root when you have a lot of stuff to type in and know exactly what your doing, otherwise setup RBAC for common stuff.