I would take the 7950. The extra cost of the 680 does not justify the performance gained.
For which to get, short answer is it does not matter, neither manufacturer is better than the other. As with all components, the best way to buy is to ignore the manufacturer name and base your purchase on the quality and performance of the parts in your given budget.
As it stands, AMD and Nvidia and their partner graphics card manufacturers have the same level of build quality, so it all comes down to the best price/performance for a card that suits your requirements. In this case, the AMD.