I would also say that high core counts are worth nothing unless you either
1. have the right apps that are internally multithreaded, which is horrifyingly dangerous for the programmer in terms of potential bugs if you get it wrong and sometimes onerous too, or
2. have a setup where you do regularly run multiple processes in parallel that compute. Many processes are io-bound, waiting on the user, in the network or on the hard disk or other storage device.
3. Some computing processes are very hampered by the incredibly slow RAM that we have to out up with nowadays, where RAM has fallen further and further behind CPU speeds, my rough guess would be by a factor of 50:1 - 100:1 nowadays compared to the speed of RAM in the early 1980s. This kind of computing, where a lot of RAM accesses are just essential and nothing can be done about it - because it is just the nature of the job that needs to be done or where caching is ineffective, possibly because if a badly chosen algorithm or just because of bad luck, again the particular situation the application is in - means that a fast CPU won't help, won't be able to shine.