This document is under construction!
The basic command prompt in most operating systems is bland, and usually unfriendly as well. Besides having to deal with dense monochromatic output, I've also been frustrated over the years by incompatibilities and inconsistencies between terminal applications and ncurses' handling of keyboard input depending on the TERM variable and all sorts of nonsense like that.
With the goal of getting a nice colorful shell, reasonably correct output of special characters and functional keyboard input, this document outlines what has worked for me.
Here is a screenshot of my setup:

In this image, you see a colorized command prompt with brown login info and a green current directory. I typed ”df –[TAB]” and the shell responded with a summary of my available long-format options. I picked ”–human-readable” and typed the rest of it on the same command line and hit ENTER. The Color Wrapper applied some formatting to df's output as it was being sent to the console.
Other important features include:
http://www.xfce.org/projects/terminal
Sigh… Terminal emulators. You'd think they would all have relatively simple and consistent behavior, but that hasn't been my experience. I recently picked XFCE's Terminal accessory as my favorite terminal, even though I'm a GNOME Desktop user. (You don't need to be running XFCE Desktop to use its Terminal; all you need is any X environment and GTK.)
XFCE Terminal gets the job done with a minimum of fuss and no major incompatibilities that I have found yet. One nice feature is its “Auto-detect” option for the “Backspace key generates what?” and “Delete key generates what?” settings. I'm not sure how that works, but I'm glad I don't have to think it.
You should be able to install XFCE Terminal from your Unix distribution's package repository. In Ubuntu it's called ”xfce-terminal” and in Darwinports (for OS X) it seems to be called simply ”terminal”.
In my preferred setup, I have CTRL-1 and CTRL-2 assigned to the actions “View / Show menubar” and “View / Show toolbars” respectively, and then set “menubar” and “toolbar” to not display in new windows:
The window is cleaner and simpler, this way. When you need Terminal's menu bar, just press CTRL-1 to toggle it on and off. Keys like F1 (help), F10 (activate menu bar), and ALT-F (activate File menu) only work when the menu bar is visible; when it is hidden, these keys get sent to the program running in the terminal.
Don't change XFCE Terminal's “$TERM setting”–the variable that tells the shell what kind of terminal you're using. On my Ubuntu box, I tried changing it from the default “xterm” to “xterm-color”, and while Ubuntu's bash init scripts enabled some color this way, some cursor movement keys such as HOME and END inexplicably broke. I don't know if this bug is specific to Ubuntu and its TERMCAP database or XFCE Terminal behaving strangely or what, but if I leave it as “xterm” no one gets hurt. YMMV.
Bash is old and crusty. Fish is the new hotness. Fish is a new shell that was built from the ground up with usability and discoverability in mind. Fish also has its own take on scripting syntax that is incompatible with other established Unix shells, but IMHO it's easier to learn and remember. Don't worry, any existing shell scripts you have can still be fully used just by calling the correct alternative shell to execute them.