The layer 2 switch is your "standard" switch. This switch makes decisions by using the MAC address (layer 2) of the devices. Unfortunately, they cannot switch between subnets or VLANs. You would normally have to use a router (layer 3 device) which makes decisions by using the IP address (layer 3) of the devices.
So what is a layer 3 switch? It is a switch that can make decisions either at the MAC layer or IP layer. This is extremely useful in that you now have (for example a Catalyst 4006 that we use) a very large multi-port router. We route 15 different subnets on 48 ports. Also, with CEF (Cisco Express Forwarding) once a layer 3 packet is forwarded, the rest of the packets for that connection are "routed" using layer 2 information. Can you say "fast"? !!
Steve Olson