A hub is basically a multi-port repeater. It simply splits the cable into several, so it can be used to connect a few computers on a home/small business LAN.
A switch/switching hub is a more advanced version - it can be found for almost the same price, but it's more efficient if all the computers are transmitting at the same time; it basically creates a virtual channel between the two nodes that are communicating, so instead of broadcasting the data to all of the other nodes, and all except one rejecting it because it's not destined for that node, it sends it only to that one. That way, the load on the other NIC's is lightened, and performance increases.
There's no reason to buy a hub anymore; you can find an 8 port 10/100 switch for about $17 including shipping.
A router is even more advanced, it usually does the same thing as a switch, but also handles routing (channeling data to other routers, etc).
Usually a router is placed at the connection to the internet, then switches are plugged into it, and finally computers plugged into the switches.