I could post a thousand-word essay on how all of the various layers of software interact to provide both backwards-compatibility with hundreds of historical systems as well as customizability for dealing with new ones, but the truth is that it's really a waste of time. Just run Emacs as a normal gui application, and it'll all work much better.
If you really insist on running Emacs inside a terminal emulator, know that the OS tells the terminal emulator directly what keys you pressed. then the terminal emulator then translates this into a sequence of bytes to send to the application running inside the terminal, and finally that application translates it back into some idea of what keys you pressed.
The idea behind this configuration window in iTerm is to allow you to tell iTerm what the application you're running expects. Unfortunately, Emacs can be configured to work in a wide variety of environments, and you haven't given us enough information to figure all of that out.
I would suggest using the Emacs help functions to tell you what Emacs thinks is going on. Specifically, if you type
C-h k, followed by any keyboard shortcut, Emacs will tell you what keys Emacs thinks you pressed and what command they normally trigger, if any. This will tell you what Emacs thinks of the bytes or escape codes that iTerm is sending.