I normally upgrade when I can no longer run the newer games I want on my system, and normally make a decent upgrade that will last a few years. I'll retire my 8800gts as soon as the next installment of The Elder Scrolls is released.
A nice factor when upgrading from the HD4870 to HD5850 is power efficiency, especially at idle. The difference is quite large, around 55-60w. If you leave your computer on all the time that is actually a few dollars a month on your power bill.