The Difference between a switch and a hub is simple but makes a large difference. First off a hub is a layer 1 device, a switch being layer 2. Hubs simply take all imformation recieved, and forward it out all ports of the hub. Only the computer that the data is meant for will accept the data the rest will discard the data. Hubs are a "dumb" device, and since all this data is being shot out all ports all the time they tend to be prone to data collisions. Hubs also cannot be configured. Switches are more of an intelligent device, they make forwarding decisions. They dont just forward data out all ports in hopes that the person its intended for recieves it. Switches use CAM, which in CAM is a list of the computers MAC addresses and which port they are out, so when data goes into the switch, the switch looks at its switching table and forwards the data only out the port the destination computer is at. Because of this point to point type data forwarding and full-duplex wireing switches rarely have data collisions and create less traffic. Switches may also be configured through the console port. Hubs are a bit faster since they dont stop to make decisions and are better if you only a have few devices on a hub, but switches make up for their millisecond delay for decision if you have many computers on a line.
Bottom line, Switches are newer, better, and more efficent and I agree are a better choice of use over hubs.