Un
hub sólo interconecta físicamente dispositivos de red. La comunicación entre nodos es de uno a muchos.
Un
switch interconecta y comunica dispositivos de red. La comunicación entre nodos es de uno a uno.
Un
router sirve para poder comunicar (encaminar paquetes) una red (interna) con otra (externa).
Si conoces el modelo de referencia OSI, el hub trabaja en la Capa Física, el switch en la capa de Enlace de Datos y el router en la Capa de Red.
En este artículo se explica más la diferencia:
http://eveliux.com/mx/diferencias-hub-switch-router.php
Saludos,