What is the main difference between L2 & L3 switches ? Can somebody point me to a link that would describe the differences between the two.
Mohammed and Scott have given good answers. I would like to take a slightly different approach in answering your question. A layer 2 switch forward frames using only layer 2 information (forwarding according to destination MAC address). A layer 2 switch is aware of VLANs and builds a forwarding table based only on layer 2 information (MAC addresses) which allows it to forward within a VLAN.
A layer 3 switch includes the functionality of a layer 2 switch and also is able to use layer 3 information (IP addresses) to make its forwarding decisions. So a layer 3 switch is aware of subnets and networks in addition to being aware of VLANs. A layer 3 switch builds a layer 2 forwarding table to be able to forward within a VLAN. And it also builds a layer 3 forwarding table (IP routing table) to be able to forward between VLANs and between subnets and networks.
In a nutshell, L2 switches handle Frames from an L2 protocol, like Ethernet. L3 Switches can also operate in L2 mode, but can go deeper, and look at the packets within the rames, and switch them accordingly.
L3 switches are essentially a fast (but somewhat limited, in most incarnations) router.
L2 switches define collision domains, L3 switches define broadcast domains (there are caveats, as usual, but generally speaking).
Here's a link to Cisco's Internetworking Guide. It's a free online version of a not-so-free huge book.
It covers most of the protocols and technologies pretty well to at least a basic level, and usually more.
Please check the below document, i consider it as one of the best papers: