A 10/100 hub will set all ports to the speed of the slowest device. A 10/100 switching hub will allow each port to autosense independently (while still broadcasting traffic to all ports). A 10/100 switch will allow each port to autosense independently, but traffic will only be sent to the port for which it is intended, creating separate collision domains.
The speed that a given device will be able to communicate with another is as slow as the slowest link along the way. It would work like this:
Let's say we've got 3 PCs, PC A is 10Mb, PCs B and C are both 100Mb. The speeds for communication using the various devices would be like this:
10/100 Hub:
A to B - 10
A to C - 10
B to C - 10
10/100 Switching Hub:
A to B - 10
A to C - 10
B to C - 100
10/100 Switch:
A to B - 10
A to C - 10
B to C - 100
You can see that on the hub, PC A knocks everyone down to 10 Mb, whereas on the switching devices, only communication with PC is limited to 10. On the switching hub, PC A can see the communication between B and C but ignores it, on the switch, it can't even see it.