Think of a hub as a splitter, splitting a single incoming line into multiple destination lines. The most common use for a hub is for small home or work networks. The problem with hubs is that they are practically brainless. Every time a packet of information is received by a hub, it is broadcast over all outgoing ports. This can lead to network congestion and packet collisions.
A switch is a hub taken to the next level. On the outside, a switch can appear cosmetically identical to a hub; it’s what’s on the inside that makes the difference. A switch has the ability to filter and send data to specific hardware ports. If a packet comes into the switch, it can choose the correct path rather than broadcasting it to the entire network and help eliminate network congestion. Switches also tend to offer advanced filter options, bandwidth metering, and traffic statistics.
A router is a piece of equipment that typically connects at least two networks and forwards packets the most efficient way based on its knowledge of the connected networks. Routers typically maintain routing tables that contain available route, distance, and network congestion information. The router uses these tables along with complex algorithms to determine the most efficient way to send a packet across the network.
For most home users with casual file transfers, a simple hub is sufficient. However, anyone transferring large amounts of data or using network-intensive applications should highly consider purchasing a switch. Users looking to run Internet Connection Sharing should consider purchasing a firewall/router combo.