Someone correct me if I'm wrong, but basically Android is based off of Linux and within Linux, Root is a level of access that allows you to modify things that general user rights wouldn't allow. In relating to Android, Root gives you permission to modify system settings/files that general users cannot. It also gives you the ability to give apps permission to access things in your phone that are protected otherwise. The Superuser app gives you the control over what apps can and cannot have root access.
rooting means getting full control(administrative privileges) on a android device.. normally android devices are unrooted that means you can't do much more customization to the device.
** WARNING !! Rooting will void your warranty. it's the biggest disadvantage of rooting.
and the second one is security. because after rooting you get full control to the device' so that means malicious apps can do more harm to security.