What are terminal emulation programs and why are they needed to access a Cisco device?
Software on your computer that opens a text terminal session to a device's command-line interface (CLI), so you can type commands and read the output.
A network device like a switch or router has no built-in screen and keyboard — you reach its CLI from your own PC. A terminal emulation program does exactly that: it presents a text window that behaves like the device's console, then carries your keystrokes to the device and displays what the device sends back. It works over three transport paths: a directly-attached console cable for initial setup, and SSH (Secure Shell) or Telnet for remote network access (use SSH — Telnet is plaintext).
This is why you need one at all: without it there is no way to feed text commands to the device or see its responses. In the program you set the connection details — serial port, host, protocol (SSH vs Telnet), and session logging. Common examples are PuTTY, Tera Term, and SecureCRT.
Go deeper:
Secure Shell (Wikipedia) — the protocol a terminal emulator speaks for an encrypted remote session.
Telnet (Wikipedia) — the legacy plaintext virtual-terminal protocol the same emulators can also speak.