I see shell as an instrument through which you use other tools. In that sense, vi feels much more like a shell, because you have to use other standard unix programs with `:.!` for much functionality.
Where Emacs comes with all bells and whistles included in one big distribution, much like an operating system.
Something that undermines the operating system angle is that emacs does not implement hardware drivers. All interaction with the computer go via system calls.
Norton Commander contains a text editor. Emacs operates at that level, whilst being reprogrammable.