On our way to dinner Friday, my Dad and I were wondering what is the exact difference between a router and a switch. Sounds like something basic most anybody with a home network should know, but at best all we could do was guess/BS our way through the answer. Wikipedia to the rescue.
A router connects networks together, by extracting the destination for a packet and selecting the best path to that destination, then forwarding data packets to the next device. We were pretty spot on with our deduction of a router, that it is a device smart enough to connect two subnets (logical networks) like your home network and your ISP. A commodity linux PC can be used as a route.
The term switch is a little less specific, sometimes used interchangably with "router", and is really more of a maketing term than a technical term. On the low end, a switch is similar to a simple hub, with enough intelligence to inspect packets and route them only to the destination device. Your run-of-the-mill linksys or netgear hub isn't so smart and just broadcasts packets to all devices on the network, letting them sort out what packets are intended for each on their own.
By the way, if you don't think a switch makes much of a difference, when I replaced our hub with a switch at home, there was a noticeable increase in file transfer speed between computers on the switch. If won't make your internet connection faster, since switches and hubs are faster than what your ISP provides, but with less packet noise flying around among computers you should notice a difference too.