I upgrade whenever I can successfully sell or reuse the old parts. That way I don't often spend any if any money.
Having said that when I switched from Q6600 to i7 I spent £300 because I just wanted...