@emacsomancer The difference between vi and Emacs, is that Emacs can be extended .. you can write functions to edit text. Something you cannot do in vi. The other difference is the obvious one, modal editing.
For example, an integral part of #GNU #Emacs is windows and frames, I'd not consider these part of Emacs the editor. They are "above" Emacs (e.g., on the Lisp Machine, they are part of another subsystem).