Why does Vi have multiple modes? I'm not interested in the functions of the modes unless that was a reason to have different modes. I'm only interested in the design / engineering reasons for multiple modes.
Considering the primary two modes, COMMAND and INSERT, demonstrates the purpose of a modal interface.
In INSERT mode you can type normally, inserting text into the document. You can bind keys to perform special functions, although these are generally limited in complexity.
COMMAND mode is sort of like an unlimited special function. Something similar could have been implemented using Ctrl, so that you hold down it down and press some other special key, and in fact most generic editors do work that way: you use ctrl-x to cut, ctrl-p to paste, etc. However, this method limits what you can do; it would be a bit of a pain to hold down ctrl and type "open myfile.txt".
GUI editors and some TUI editors usually get around this with drop down menus. However, that's still limited: if you have a lot of features you end up needing awkward cascading nested sets of menus.
There is of course an advantage to all this, and it's probably a major reason for
It could be observed that the editing aspect of many large, complex, graphical applications such as integrated development environments (IDEs) and word processors is deficient compared to vim because of the simple, non-modal, menu and ctrl driven interface. Considered this way, the reason vim uses modes is to make it a more powerful tool.
If it did not have a control mode and an insert mode it would not have been able to distinguish between the operations on a text and the text itself.