That's not what I meant. Please, excuse my vagueness and let me reformulate.
My grief against vim is that one can't run a process (like a shell) and interact with it within a vim buffer so that you can (for example) record the session. Such feature is available with emacs. See its shell-mode for example.
Simply starting a shell from vim has the additional inconvenience that you can easily stack a vim on top a shell on top a vim... I know that some shells have environment variables like SHLVL that you can manage to display as part of the prompt so that you can see when you stack stuff like that. But that is not addressing the real problem: the shell session should be available as a vim buffer.