Nvidia makes better cards. They have way shittier business practices. Any software that AMD designs is pretty much open source. So I'll be waiting to see if they come out with something new.
Sometimes... But one thing I learnt from the dev side of things (well, 2 actually) is ati and now AMD atruggle to write effective drivers.
And, crucially, even when technically ati has had better hardware, the fact that it isn't identical at a low level has hurt them.
Remember games with that "the way it's meant to be played" nonsense? That's Nvidia basically bribing game devs (with free hardware, in depth technical assistance, and sometimes even cash), to put in a lot of work optimising their games specifically for the way nvidia cards work, and for including proprietary, non-standard features that ati couldn't match not for techical, but purely for legal reasons.
They both tried to do this, but nvidia managed it way more often.
End result, large numbers of games optimised for the specific quirks of nvidia cards. Which then ran faster on nvidia than ati, not because of better hardware, but better optimisation. (which nvidia paid for)
Some things were also bad predictions. x1000 series cards had too little texture fill performance, and too much shader performance. Because ati expected this to be the future trend. But this never happened in the life of these cards, so you end up with something which was weak in the most important capability for games of that era, and strong in something that wasn't used much...
Still, they've always had better luck in the midrange. My 5770 was absurdly powerful for what it costed. Easily matched anything from the generation before it, even though it was only a midrange card...