The shell is the program that runs in the terminal, that reads the commands you type and executes them.
Unix and Unix-like operating systems today offer a choice between mostly the same set of shells, because these shells pre-date most of those operating systems.
For further reading I recommend Evolution of shells in Linux (IBM)