Because it's more convenient. For interactive use, I used to be a (t)csh person, from about late 80s or early 90s, to early 2000s. Then I switched to using sh, first ksh, then bash. Why? Because shell scripts (things that are stored on disk and executed) pretty much have to be written in (k,ba)sh; csh is not a very good scripting language for programming. And I have the habit of executing rather long sequences of commands right from the command prompt, I frequently type in 10-line scripts and run them. Having two different shell dialects, one for programming and one for "interactive" use (which is often quite similar to programming) was driving me nuts. So I decided to standardize. I still use old-fashioned sh for programming only (keep it clean and portable), but use bash interactively, mostly because of the better history search features.
On my FreeBSD at home, I have two root accounts, one with the default csh, the other with bash. I de-facto only use the bash one. It actually has the same RC files as all my user accounts (on all machines, home and work, all architectures, I use exactly the same RC file, with if statements)
Again, convenience. If I'm doing a system administration task that I know ahead of time will take only one line, I will do that with sudo. Otherwise, I switch to running as shell as root. Now, I hardly every actually "log in" as root, in the sense of starting a new ssh session or a physical terminal as root. Matter-of-fact, ssh access to root is disabled. Rarely I have to do sys admin tasks from the console (when the network is completely broken), and that's pretty much the only time I actually log in as root. Instead I just switch from my regular user account to root.
That works. I prefer "su -". Honestly, don't know why I prefer that, probably just tradition. After many years, it's sort of hard-wired into my fingers. Anyone know a strong reason to do one or the other?