A layer 3 switch *is* a router. However, it is optimized to perform routing in ASICs, providing a speed advantage over a conventional router.
The difference between a layer 3 and a layer 2 switch isn't Cisco specific...it is OSI model specific.
Essentially, and I'm not trying to be pedantic, the difference is the layer that the switch operates on.
In other words, a layer 3 switch switches packets to and from ports based on layer 3 information (IP destination address, basically).
A layer 2 switch switches frames to and from ports based on the layer2/hardware/MAC destination address.
Below is a pretty informative wiki about the OSI 7 layer model.
http://en.wikipedia.org/wiki/OSI_seven-layer_model