Here is my stock answer, written some years ago.
My stock approach to this perennial question:
Some games are graphics limited like fast action shooters.
Others are cpu core speed limited like strategy, sims, and mmo.
Multiplayer tends to like many threads.
You need to find out which.
------------------------------------------------------------
To help clarify your CPU/GPU options, run these two tests:
a) Run YOUR games, but lower your resolution and eye candy.
This makes the graphics card loaf a bit.
If your FPS increases, it indicates that your cpu is strong enough to drive a better graphics configuration.
If your FPS stays the same, you are likely more cpu limited.
b) Limit your cpu, either by reducing the OC, or, in windows power management, limit the maximum cpu% to something like 70%.
Go to control panel/power options/change plan settings/change advanced power settings/processor power management/maximum processor state/
This will simulate what a lack of cpu power will do.
Conversely what a 30% improvement in core speed might do.
You should also experiment with removing one or more cores/threads. You can do this in the windows msconfig boot advanced options option.
You will need to reboot for the change to take effect. Set the number of threads to less than you have.
This will tell you how sensitive your games are to the benefits of many threads.
If you see little difference, your game does not need all the threads you have.
It is possible that both tests are positive, indicating that you have a well balanced system,
and both cpu and gpu need to be upgraded to get better gaming FPS.
-------------------------------------------------------------
In the upgrade options, you may want to also look at your monitor.
Larger/higher resolution can be very immersive.
If this is an option, I recommend upgrading the monitor before the graphics card.
You then know better what graphics you need, and you can always lower the settings to get a playable frame rate.