In the old days it was better to keep your memory bus in sync with the FSB, so that's why with certain CPU's it was better to keep it at 667. But nowadays you won't notice the difference anymore. But you do need 800 if you have a 1600 MT/s cpu so always buy 800.
Ok, this is an on going thing about ram memory. My answer would be check the timings of each, and compare them. I use ddr 800, mainly because it's got faster clock timings then the 667. As for gaming, which is what I use my comp for mainly, go with one of the high end modules, like Cosair Dominator series. It's overclockable, and fast right out of the box. There are other cheaper ram of this type out there also, you will have to shop and compare. But my answer would be, if your MB supports it, use the 800.