Bridge forwards frames between PCs based on S/W.
Switch forwards frames between PCs based on H/W.
What does S/W and H/W mean?
The succinct answer is "S/W" = software and "H/W" = hardware.
A bridge used to be a computer and controlled the layer 2 traffic flowing through it with a special program, hence "software."
A switch is built for purpose and the layer 2 traffic flow is controlled by special hardware (ASICs as mentioned in other answers) as it flows through the switch.
Matt, good question!
Bridge and switch are almost same things. Bridge, now(in 2014 ;-), is a basic function of the ever modern OS, so this is software. Lets look on bridge architecture(bridge operations are described in ieee 802.1D), bridge must have:
All this operations are uses CPU, which is shared by another OS proccesses, this is an important.
So what is typical switch?
Switch, as usual, have multiple (!)different type(!) processors:
So, when switch forwards frame, it is uses just ASIC, and in theory, CPU can be overloaded, but switching will works fine. ASICs and CPU are separated, ASICs even haves own superfast memory(CPU have typical RAM). When you are send configuration command to your switch oven ssh\telnet, CPU recieve commands from ssh\telnet process, and send them to the ASICs.
Switches architecture is very complex, and it is vendor-specific, IMHO, modern switch this is true-engineering-excellence.
All operations that take place in a network device are programs.
Normally, when most people think of running a program, this is done in the system's processor (CPU), memory, and storage resources. This is software processing. It is flexible, easy to update, and can be shared by different programs easily. It can be used to run programs that weren't even thought of at the time the device was manufactured.
However, many hardware components also contain programs embedded into the silicon itself during manufacturing or using ROM or flash memory. This is specialized and often limited to running only the type of program it is designed to run. It may or may not be upgradeable, but the process is typically more involved. However, when running the program it is designed to run, it runs that program VERY fast as there is no loading the program into/out of memory, storage or the CPU.
Generally speaking, you want as much of your network traffic to be hardware processed rather than software processed. The reason being that hardware processing is fast and dedicated to the process. Software based processing is shared and may be subject to delays as other programs use the same resources.
While that should provide an answer to your question about "what does S/W and H/W mean," I will expand on that to say that technology is always advancing and changing. What was software based yesterday may be hardware based today.
Flash or solid state storage being used generally would have been unthinkable ten or fifteen years ago. It was simply too expensive to use on that scale. However, this has changed rapidly and continues to change. Who now doesn't have a USB flash drive? How many people are using SSD in computers? Yes, it is still expensive when priced per MB compared to traditional storage, but that gap is closing.
Company specific, proprietary hardware based ASICs in switching have long been the kings of performance. In the last several years, "commodity silicon" is rapidly evolving the networking landscape. At a much lower cost, it can provide equivalent (depending on who you talk to) performance as ASIC based hardware.
ASICs also always improve, adding additional functionality into the hardware itself. Ten years ago you couldn't find a switch with IPv6 functionality built into the hardware, but today you shouldn't consider an enterprise class switch that doesn't have it in hardware (RA guard, etc).