Cisco Express Forwarding (CEF) is advanced Layer 3 IP switching technology. CEF optimizes network performance and scalability for networks with large and dynamic traffic patterns, such as the Internet, on networks characterized by intensive Web-based applications, or interactive sessions.
Although you can use CEF in any part of a network, it is designed for high-performance, highly resilient Layer 3 IP backbone switching.
Basically Cisco Express Forwarding is another method of passing packets from one interface to another on a router. This is the method of switching that Cisco are implementing right across their product line (apart from the SOHO routers)
Unlike other methods of switching in a router (for example, Fast Switching) where the first packet hits the processor so that the destination of the packet is found and any subsequent packet is switched as the source and destination of the packet is stored in a cache therefore the processor doesn't need to be involved for the rest of that traffic flow, this method is also known as "route first, switch many".
With CEF, no packets hit the processor, every packet is switched. Instead a Forwarding Information Base (FIB) is created using information created from the route table, IP Interfaces, etc and taking in account things like access-lists, and later realising that available bandwidth needed to be considered when creating the FIB. All the packets are then switched from one port to another using the information created from the FIB.
There are variants of CEF, for example Dialer CEF, where you may have a branch office router with a modem card built in and therefore have varying speeds ranging from dial-up modem speeds to Local Area Network speeds. Another variant is Distributed CEF (dCEF) which is implemented on a switch with more than one line card (Catalyst 4000 upwards) so that traffic flows will only hit the backpane if the traffic is going from a port on one card to a port on another card. To support dCEF, there has to be processing capability on each line card in order to build and share a FIB on each line card.