To understand what "EHCI" and friends are, you need to first know that
every motherboard or PCI card that includes support for plugging in USB
devices needs to have a USB host controller chipset on it. This
particular chipset interfaces with the USB devices that you plug in to
your system and takes care of all the low-level details necessary to allow
your USB devices to communicate with the rest of the system.
The Linux USB drivers have three different USB host controller options
because there are three different types of USB chips found on motherboards
and PCI cards. The "EHCI" driver is designed to provide support for chips
that implement the new high-speed USB 2.0 protocol. The "OHCI" driver is
used to provide support for USB chips found on non-PC systems, as well as
those on PC motherboards with SiS and ALi chipsets. The "UHCI" driver is
used to provide support for the USB implementations you'll find on most
other PC motherboards, including those from Intel and Via. You simply
need to select the "?HCI" driver that corresponds to the type of USB
support you'd like to enable. If in doubt, you can enable "ECHI," "UHCI"
(pick either of the two, there's no significant difference between them),
and "OHCI" just to be safe.