The shell is simply an interface to the kernel and file systems.
It is a command interpreter, takes care of metachar expansion, provides the piping mechanism etc.
sh, csh, ksh, bash, zsh etc are all shell types. It is merely a program. Hence the last field in the /etc/passwd file. Change the field in the /etc/passwd to a different program such as "mail" and that will be the only application you can run when accessing your account.
Many prople have accounts without a shell. Think about pop3 a minute? When you d/l mail from a pop server, you typically do not get a shell. Host your web pages somewhere. 99% of the tijme you do not get a shell account. They simply allow you to ftp to them only.