For my day-to-day interactive use, I use
shells/zsh (with vi mode enabled). I was introduced to UNIX via
shells/bash and
shells/ksh on Solaris. When I passed over to Linux for a time, bash was already there so I used it.
I have a number of friends that use ZSH, so I decided to give it a go and found that (certainly at the time) it was more featureful and flexible in configuration than bash. Also it is MIT licensed, and at the time I was trying to reduce the amount of GPL applications I was using.
I tried oh-my-zsh at the start, but it was too much additional 'stuff' to comprehend, and didn't seem to offer
me additional, useful, features to trade off learning them. Also, since I work with many shells in a given day which I can't choose and customise, I try to keep my personal shell customisations fairly simple to avoid additional friction on other systems.
For scripting I always use
sh(1). For root's interactive shell I've always used
tcsh(1), aside from when I want to do longish "one liners" or looping, then I revert to
sh(1) interactively much like
Vull described, because I use
tcsh(1) so rarely I easily forget how to do things like looping in it, and reverting to
sh(1) is quicker than checking a man page.