A pseudo terminal is a kernel concept that was introduced to present terminal line discipline to programs so that the programs think they are talking to a real terminal. This enables the programs to work unmodified regardless if they are talking to a real terminal device (e.g. a serial port) or a pseudo terminal.
For example, the interface provided by a network connection does not look like a serial line at all, so a pseudo terminal pair (a master and a slave) is used. The network handler process opens the master side of the pseudo terminal and reads from it and writes to it. What is written to the master side appears for reading on the slave side, and vice versa. In addition all the ioctls for changing line discipline etc. are available on the file descriptors on the slave side.
In short, you could say that a pseudo terminal enables you to simulate a real terminal using software.