Buying a computer every couple years isn't exactly a great way to stay current. It's best to buy just under top of the line, for example... an A643000+ or a 2.8 Ghz P4 or the 2.4 Ghz Prescott or the Mobile Athlon XP's. You'll spend 25% as much on the CPU as if you went for a top of the line one, and you'll have about 90-95% of the performance of the top of the line. 6 months to a year down the road you can afford to upgrade the CPU because what was once top of the line will now be just below top of the line, and priced more reasonably.
If you don't mind having a computer that's slower than molases in January at the end of your 3 year upgrade cycle, then by all means, upgrade every few years... but if you upgrade more often, but only do a componant or two at a time, your computer may never be the absolute fastest, but it will probably never feel too slow.
I sell my old componants when I upgrade... that way my CPU upgrade ended up costing me $20... my RAM upgrade ended up costing $40... and my video card ended up costing me $100. And that was to go from a 2.2 Ghz Barton, 1 GB PC3200 2.5-3-3 RAM, Ti4200 @ 325/650 to a 2.47 Ghz Mobile Barton, 1 GB PC3500 2-3-3 RAM, and a FX5900 @ 490/940. I didn't even spend $200 in a year to keep me current... if you spread that out over 3 years, figure in a motherboard upgrade that ends up costing $50, and a hard drive upgrade that ends up costing $100, that's only $750... can you buy a $750 computer once every 3 years and never have it be too slow? Even if you sell your old one? How much does a 3 year old computer cost right now? $500? So your once every 3 years top of the line computer can't cost more than $1250 to match the effectiveness of my upgrades... and at the end of those 3 years your computer can't run the latest software very well.