This is actually why I prefer Emacs. I can literally do all my development work in Emacs, with a full-featured shell (e-shell), directory explorer (dir-ed), REPL and full IDE for Clojure (CIDER). It's pretty great.
I do wish it was a little better on latency sometimes. But overall this environment is ridiculously nice.
My experience wasn't so simple. Griefs: coloring, git support problems, bash aliases. I'm sure there's a way to get it to work, but I wouldn't call it a full featured shell out-of-the-box; at least, it doesn't really compare with Terminal.
I use it (and created it) so I could use ansi-term instead of e-shell. Then C-c C-j lets you treat the term like a normal buffer (move, yank, etc), and C-c C-k when you are done lets you switch back to normal term style buffer.