I just upgraded to the 6870. Barring it dying or unforeseen performance issues, 18 months is the minimum I'll hold on to it and more likely, 2 to 2.5 years. My last video card was an 8800 GTS 512 and to be completely honest, it ran every game I played very well with only an occasional stutter in BF:BC2 due to lack of texture RAM. I could've probably held on to it even longer (it was 2.5 years old), but the upgrade bug bit me.
Prior to that, my main graphic card was a 6800 GT and that lasted from mid 2004 until early 2008. It had to be upgraded because I moved to a PCI-e board and I was starting to see performance issues. Before that card, I did upgrade regularly but lately, PC games aren't pushing the envelope enough to justify more frequent upgrades IMO.