Eu terminarei a resposta do Zoredache.
Um switch L2 faz somente a comutação. Isso significa que ele usa endereços MAC para alternar os pacotes de uma porta para a porta de destino (e somente a porta de destino). Portanto, ele mantém uma tabela de endereços MAC para poder lembrar quais portas têm qual endereço MAC associado.
Um switch L3 também faz comutação exatamente como um switch L2. O L3 significa que ele tem uma identidade da camada L3. Na prática, isso significa que um switch L3 é capaz de ter endereços IP e fazer roteamento. Para comunicação intra-VLAN, usa a tabela de endereços MAC. Para comunicação extra-VLAN, ele usa a tabela de roteamento IP.
Isso é simples, mas você poderia dizer "Ei, mas meu Cisco 2960 é um switch L2 e tem uma interface VLAN com um IP!". Você está perfeitamente certo, mas a interface VLAN não pode ser usada para roteamento IP, pois o switch não mantém uma tabela de roteamento IP.