Shell is main user interface to operation system. In Windows this interface is GUI. It uses explorer.exe as "file manager", creates "bottom menu", "folder window" and controls process of file opening: when you click on file it calls ShellExecute function.
So, "shell" in Windows is UI and "cmd" was only for some legacy or special commands. For many years Microsoft thought GUI is the best way to do anything.
It ~ 2006 they found that unix shells (bash, ksh, zsh) are very popular among sysadmins, so they invented PowerShell: .net based cmd substitution which is very cool especially if used with latest Powershell ISE.
It is called shell because its main purpose to become "first class citizen" for many sys-admin tasks. Any modern Microsoft server product has cmdlets so you can do almost anything from powershell (with out of MMC).
I do not know why they did not use word "Shell" for "command.com" in MS-DOS era.
It could be that they borrowed terminology from CP/M and called it "command processor".
Funny: there was a "DOS Shell" short-living GUI file manager for DOS. It was discontinued in 6.22 and most people used Norton Commander that time.