To answer my own question, for me, I prefer to upgrade my pc with at least the latest graphic card and cpu when they come out.
The reason why I choose to upgrade each new generation is that way the old parts are only 1 generation old, so as a result still retained a large chunk of their original value. So when I sell them on ebay or whatever, I end up recouping the majority of the investment into the new part, i.e. sold my previous Ryzen 3900x for ~$375 to recoup the majority of my investment into a new 5800x.
Also, my current build: My new WoW Killer PC build for 2020