I did not sufficiently explain what I mean above by including "traditional Unix shells" in the list of things over which using Emacs is preferred.
In my .emacs are calls to such Unix "command line" programs as Rscript, OS X's open, sudo, rm, gzip, chown, chmod, /opt/mozilla/bin/firefox, OS X's screencapture, fetchmail, OS X's system_profiler, shutdown, ping, ps and growlnotify.
A popular and very much traditional way to call such programs (even in languages like Ruby) is via a traditional Unix shell (invoked usually in languages like C, Perl and Ruby by the "system" function), but there is no need to do that. In emacs for example, one can bypass the Unix shells by writing something like (call-process "sudo" "mv" "-i" "/foo" "/bar"). call-process in turn does a fork and exec and the exec gets the command name (in this case "sudo") and the command's arguments (here, "mv" "-i" "/foo" "/bar").
Actually, "sudo" might have been a bad example because for all it know is implemented by calling out to a traditional Unix shell (though one can certainly implement it without doing so). I'm not a purist striving to eliminate every use of a traditional Unix shell on my machine -- that would be a waste of my time.
Point is, I do not write shell functions and shell scripts anymore -- I write Emacs Lisp code instead.
I used to make heavy use of traditional Unix shells and other parts of "TTY world": from 1997 to 2005 or so, my only interaction with my computer, a Linux box, was via the Linux console. For the 5 years before that my only interaction with Unix and with the internet was through an old-school actual terminal and (later) and IBM PC XT running a terminal-emulation app and almost no other apps. But I've discovered, slowly over the years, that I'm happier writing Emacs Lisp even for things that are traditionally done with shell scripts and with shell functions defined in ~/.bashrc.
For many experienced Emacs users, Emacs is just another component of "TTY world". these users typically use Emacs in "text mode" or in "-nw mode" (i.e., without a windowing system) and perhaps they use shell mode, eshell mode or ANSI-Term mode, all of which pretty much require the use of a traditional Unix shell. But it's not difficult to use Emacs without making constant use of the components of TTY world.