The original specification for parallel ports was unidirectional, meaning that data only traveled in one direction for each pin. With the introduction of the IBM PS/2 personal computer in 1987, IBM offered a new bidirectional parallel port design. This mode was commonly known as Standard Parallel Port (SPP), and it completely replaced the original design.
Bidirectional communication allows each device to receive data as well as transmit it. Many devices use the eight pins (2 through 9) originally designated for data. Using the same eight pins limits communication to half-duplex, meaning that information can only travel in one direction at a time. But pins 18 through 25, originally just used as grounds, can be used as data pins also. This allows for full-duplex (both directions at the same time) communication.
Enhanced Parallel Port (EPP) was created by Intel, Xircom and Zenith in 1991. EPP allows for much more data, 500 kilobytes to 2 megabytes, to be transferred each second. It was targeted specifically for non-printer devices that would attach to the parallel port, particularly storage devices that needed the highest possible transfer rate.
Close on the heels of the introduction of EPP, Microsoft and Hewlett Packard jointly announced a specification called Extended Capabilities Port (ECP) in 1992. While EPP was geared toward other devices, ECP was designed to provide improved speed and functionality for printers.
In 1994, the IEEE 1284 standard was released. It included the two specifications for parallel port devices, EPP and ECP. In order for them to work, both the operating system and the device had to support the required specification.
Computers no longer use parallel ports in favor of USB ports, but if you're trying to connect your new laptop to an ancient printer, well, thankfully adaptors are relatively inexpensive.
For more information on related topics, check out the links below.