> You get less and less been benefit for each additional CPU you add to the problem, unless the CPU is the main bottleneck.
I disagree. Each CPU you add to a problem comes with 4x to 8x memory channels of DDR4 (2x on consumer systems, 4x on Threadripper, 6x on Skylake-X). So each CPU increases your memory bandwidth in a very predictable manner.
> Also if something requires 4000 CPUs, it is going to start getting expensive if you need to double the output. These types of problems don't scale well.
Finishing the problem in 1/4000th of the time is often good enough reason. That turns a problem that takes 10-years to finish into a problem that takes 1-day to finish.
You only get good scaling when all the data fits in memory and the problem scales well, but that happens often enough that its worth studying these cases.