The selection of a video card is very complex and nearly a religious decision. As of now, AMD 7950's will give you more frames per second, which is good. However, they tend to "cough" a bit where sometimes a single frame or two every few seconds will take long to render while the remaining ones are quick. This is jarring to the gamer, and they will prefer a smooth experience like the Nvidia's can provide, to a point, of course. The current thought nowdays is, sure, the 7950 will give you more frames per second, but the 660Ti & 670 will give you a more consistant frames per second and not have nearly as many that are slow and those that are slow, aren't as slow as the slowest of the 7950's.
That being said, the 660TI is bottlenecked by it's lack of graphics memory bandwidth. It's processor is quick but hindered. I'd recommend a 670. They are more expensive, starting at about 360 pounds or Euros or whatever. But you will have a more balanced and faster card that will keep your friend happy for years.
That being said, you have the question of which one of the many types of brands to buy once you have selected the graphics processer type (7950, 660TI, 670). In short, if you have a small or poorly ventilated computer case, get a reference cooler. These are the boards that have a single fan at the far end of the card, the side furthest from the display connectors. These cards tend to be noisier and run hotter than the custom cooler models, but they will not heat up the interior of your computer case, which can be really bad. However, if you have a large, well ventilated case, then get a custom cooled one. They almost always dump the heated air into the computer's interior for the most part, but if your case can handle it, they will give your better performance.
Then you have to decide which one of these you want. Look at the clock frequencies, reliability, and guarantees.
Check out newegg.com, you can read hundreds of reviews on many of these cards to get an idea of how good the cards are.