True, but still the cost difference between the two cards is large for really minor gaming improvements. It would cost you $1600-1800 for 3 of the Nvidia cards (580s) while only costing you $900 for 3 of the 6970 or actually $600-700 for 3 of the 6950s. It would be around $1000 for 3 570s.
True but 2 sli card perform better in most cases than 3x xfire cards and 2 sli cards cost about the same as 3 xfire cards. Once you reach your 3 xfire cards and you want better performance what do you do sell them all and start again ? With the sli you could still add another card for around $300.