Visual editors assign various non-editing tasks to command sequences as well. Pycharm moves the cursor around parenthesis with C-m for example, Cmd-M minimizes windows, and Cmd-I does formatting.
No applications running in the terminal will be able to tell the difference between these two different key presses.
Anyways, I don't think such behavior is inherent to "the console", only Linux's particular implementation (i.e. it's tty's fault) which admittedly is pretty outdated and relies a bit too much on control characters.
IMHO the original question still stands:
> What would a GUI bring to this that isn't possible in the console?
In my experience text mode brings a lot that GUIs don't, and not the other way around.
Plus it's easier to make a GUI wrapper for a console program than a console wrapper for a GUI program.
I also absolutely agree that this is the correct way for an editor to be implemented.