That was always my understanding. In older mainframe operating systems, the command interpreter was more integral to the OS. In Unix, it's just a process. Its function is to run programs for the user, so it is in some sense a shell around the OS seen by the user.
That's the way I see it and to extend the analogy a bit further Unix, et el. are like a hermit crab that can trade one shell for another if there is a good reason to do so.
Yup, I've always thought it provides sort of an "airlock" generic land between userspace and kernel-land, where people can do things like send signals to processes and also do stuff like dump the contents of a file for easy viewing.