There's only one underlying reason to upgrade a cpu. That being it no longer is good enough for the job. Doesn't matter if it's you deciding its not good enough, or software or hardware, it's just not good enough.
Which only leaves two real questions, the budget and the expectations. For most pc's, with technology advances comes the need to upgrade several things, for a cpu that'll include a new motherboard and new ram (mostly), so all that has to fit the budget too. For expectations, there's restrictions. It's pretty pointless pairing a i9-9900k and RTX2080ti for gaming alone on a 1080p 60Hz monitor, just as it's pointless using a 9400F with a Rx580 for 4k. There's other considerations such as workload for things like video editing with Adobe CC or Sony Vegas, high rendering or compiling amounts or simply gaming. All combined will put you on a direction of what's best for you and your wallet and pc, not simply what's best.
So upgrade from i5-4670k. The most obvious course would be an i7-4790k. Simple cpu swap, double the threads, higher stock clocks, relatively cheap on ebay. Would alleviate multiple problems suffered by any quad thread cpu like the i5.
Then there's a full platform swap that'll do all the above, plus leave upgrade path as well as increasing fps and opening up other avenues like ability to use NVMe drives, M.2 slots, USB-C and other things, including better Windows compatability, current support for drivers etc. A good AM4 B450/M mobo with a 2600/2600x will do all that. If looking for production, then a 2700x or Intel 9700k. But now you start getting expensive.
Which begs the 2 questions, just what's your budget, and what are your expectations.