A Shell is simply a program that allows the user to interact with the system. The more formal name is "command shell", and it's not unique to Linux. The DOS COMMAND.COM program, for example, is a shell.
It's called a "shell" because it forms a sort of container for doing work, like a seashell does for what lives in it. The shell program typically is just a loop that reads a command line from a terminal or other input source, parses it, builds up the environment that will be passed to an application, loads the application and runs it, then repeats.
In ancient times, the shell was an integral part of the OS, but Unix popularized the idea of alternative shells such as ash, bash, csh, ksh, zsh and so forth. All have the same basic function, which is to do what I outlined above. These days Windows also has multiple shells - the COMMAND program is the old dumb DOS shell and the CMD program is similar, but smarter - it has some extra functions that make it easier to write intelligent scripts.
There are other types of shells as well. Shells have been written based on LISP, for example. And windowing systems provide what's known as a "gui shell".
Science is the process of replacing what we "know" with what is TRUE. Politics, alas, often prefers to be the opposite.
Gravity is a harsh mistress. But this tiny ad is pretty easy to deal with: