Specifically, a router is a device that routes the packets to their destination. What this means is that a router analyzes the Layer 3 destination address of every packet, and devises the best next hop for it. This process takes time, and hence every packet encounters some delay because of this.
In a Layer 3 switch, on the other hand, whenever a routing table searches for any specific destination, a cache entry is made in a fast memory. This cache entry contains the source-destination pair and next hop address. Once this cache entry is in place, the next packet with the same source and destination pair does not have to go through the entire process of searching the routing table. Next hop information is directly picked up from the cache. That's why it is called route once switch many. This way, a Layer 3 switch can route packets much faster than the router.
Having explained the mechanism of both a router and a Layer 3 switch, let me also tell you that router has some advanced routing functionality, which Layer 3 switches lack. Layer 3 switches are primarily used in the LAN environment, where you need routing. Routers are used in the WAN environment. These days lots of people have started using layer 3 switches in WAN environment, like MPLS.
This was first published in November 2004