simply put a switch works at the mac level and a bridge works at the tcp level.
this means a bridge can be used to fix a badly designed network.
I notice that 90% of people thing that a switch will fix network problems by reducing redundant transfer. And if that does not work they buy a more expensive switch.
There is an old rule which says a network path should never be longer then 3 hops. This is due to network delays which increases packet collisions, and cannot be fixed with a switch.
so the only method of fixing a large badly designed network is to split it up into subnets and use a router to clean up the network, or simply put a bridge in the middle.
even though Microsoft uses bridging to increase network throughput for a server, it is generally not used for servers. the UNIX way to do that is bonding