Some of depends on your system specs etc, but in general:
If you are planning to OC, the 7950 is and has always been the best bang for your buck.
If not, grab the 670.
I have a 2500k and 8gb of ram, so I don't think that will bottleneck it. I will overclock it to around 1100 mhz for the core clock if I get a 7950. How will that compare to a 670? If it only means spending a little more to get a decent performance increase I will.