FSB is generally much slower than the processor speed. An example FSB may run at 133 MHz, with a (slow) processor running with a multiplier of 9 to give it a speed of 1.2 GHz. Some hardware can accept different clock settings, so if the front side bus is stable to run at 166MHz, the CPU can either be run at 166x9 = 1.5GHz (giving a combined boost to memory access and processor speed) or if the CPU is unstable at this speed, the multiplier can be lowered to 7.5, giving a CPU speed of 1.25GHz but allowing the increased FSB for faster memory access.
Memory should generally operate at least as fast as the FSB. Above this speed there is little advantage to the memory running faster, if the bus cannot provide it with data at the same rate. However, the effective speed of memory modules is not the same at the clock rate it actually runs at.
The effective speed of DDR depends what kind of DDR you have. DDR stands for double data rate, meaning those modules run at twice the FSB frequency, such as 2x200MHz = 400 MHz. DDR2 effectively operates at four times the FSB, and DDR3 at 8 times.
You can therefore decide which memory is required for your bus speed with this calculation
FSB x 2^your DDR version = memory speed
So in the example, FSB =166, DDR version is DDR2:
166 x (2^2 = 4) = 166x4 = 667MHz effective speed.
Another example: FSB = 133, DDR version is DDR3:
133 x (2^3 = 8) = 133x8 = 1066MHz effective speed.
It is also worth noting that (most) DDR modules are backwards compatible within the same family. If, (for example) a 1.5 GHz DDR3 module is too fast for your needs, it will work in any slower DDR3 system, but not in a DDR2 system, nor in any system requiring memory faster than 1.5GHz.