A shell is a piece of software that provides an interface for users. Nowadays the term shell is mostly used for command-line interface (CLI) shells (People tend to use the term Desktop_environment rather than graphical shell).
Default Shell
Default /bin/sh shell
Within Debian, the default /bin/sh shell must be SUSv3/POSIX compliant (see debian-policy).
Up to DebianLenny, the default /bin/sh shell was bash. Starting with DebianSqueeze, the default shell will be dash (see DashAsBinSh).
Default Interactive shell
The default interactive shell is bash (it's defined in /etc/adduser.conf then copied to the user profile, see chsh(1) manpage).
Available shells
Debian provides many different shells ( see http://packages.debian.org/stable/shells/ ), many of them are still provided for compatibility with existing assets.
The main shells:
bash - A very powerful shell, with very good interactive interface.
dash - A fast shell, compliant with debian-policy and SUSv3.
zsh - Another powerful shell (see http://zsh.dotsrc.org/Intro/).
Note on some other shells:
busybox - A Tiny shell, used in initrd and in DebianInstaller.
csh and tcsh should be avoided as scripting languages. See Csh Programming Considered Harmful, one of the comp.unix.* FAQs, which can be found at http://www.faqs.org/faqs/unix-faq/shell/csh-whynot/.
See also
?BriefHistoryOfShells
On Alioth, the shells used are: