Remember when you are thinking long term consider this:
If you truly do plan to keep a card for "years" (say 3), buying a $500 card today for 3 years means you could buy 8800GTS 320mb for $250 today which will be fine for 1.5 years and a 2nd card for $250 in 1.5 years to last for the remainder of the 3-year term. Although 8800GTX will certainly deliver faster framerates, it's not like 8800GTS 320mb will be slow on a 19 inch (1280x1024) monitor. When you are talking about 80 vs. 140fps, the advantage isn't the same as say 45 fps to 75fps. However, most certainly a $250 card in 1.5 years will be faster than 8800GTX at the end of that term. The longer you plan to keep the card, the less it makes sense to buy top of the line due to this reasoning.
Top of the line cards should be purchased if:
1) you play at high resolution which means anything below isn't good enough
2) you buy right at the very beginning of the generation (and 8800GTX came out Octoberish 2006) so this way you maximize the value of your top card
3) you sell your top of the line card some months before the next gen top of the line to recoup most of the cost and dump $100-150 extra to upgrade at the very beginning of next generation right away to prevent major losses of value
4) if you have enough $ to not care to spend $500 on graphics hardware every 12 months
5) if someone gives it to you as a present ask for the top card