In shell buffers inside Emacs (M-x shell), many programs want to use color in useful ways. For example, grep can highlight the portion of the line that matches the search pattern. Here's what I use to make Emacs and XEmacs show colors in shell windows:

Shell mode is handy but I find that I often just switch to a terminal window, mainly because I can pipe commands through less. If the output is very short, either Emacs or a terminal is fine. If it's of medium length, Emacs is usually nicer, since it lets me search and cut and paste easily. If the command has very long output, the terminal is nicer, because less lets me see just parts of the output. I haven't found a way in Emacs to deal with processes that output lots of lines.

Emacs shell is my IDE for almost everything. It's very very powerful and convenient. I have multiple shells open, renamed to something nice. And I can cut and past between them, save output as "log" files, instantly create shell scripts. Better than bash for sure.Start using that shell and continue.For special cases, use "ansi-term" which provides a nice display, with lots less flexibility (handles "man ls" for example).