I researched alot about them, then assisted my friend in buying a 9600 GT, while i bought the HD 4670, as i didnt wanna upgrade my PSU, while he did upgrade his.
The 9600 GT is the more powerful graphics processor, but it costs slightly more, and it must be connected to the PSU directly.
The HD 4670 is slightly less powerful as a gpu, but costs slightly less and uses less power; you dont even need to connect it to the PSU directly, it takes all its power directly from the PCI-E slot.
Also, you might wanna check out the GT 240, or wait a couple weeks for the new HD 5000 series budget cards from ATI.
Also, even if you wouldn't want to buy one of the new 5000 series when the do come out, they Might drive the price down of the older ones, but i admit that they probably won't; the returns on these budget cards are small already.
Either way, WHATEVER you do buy, be it 9600, 4670, 240, or something else in this class, for the games u mentioned, u will definitely not be disappointed and shall be quite satisfied at resolutions up to 1680x1050.
The differences are usually marginal.
Gd luck.