A shell is best equated to a command interpreter in DOS/Windows. For example, take a command.com from DOS 1.0 and compare it to a command.com from Windows-2000, and you'll see changes in commands, new commands, etc. The same is true with UNIX shells. Each shell (csh, ksh, bsh, bash, sh, etc...) has different commands and behaviors.
Look at the "Unix in a Nutshell" book from O'Reilly if you need more information.
Bill.