What are you comparing to, for these leaps of functionality, ability and/or speed? Although many of the modern enhancements are simple 100MHz increments. Which is more than CPUs used to be able to do. We started PCs at 4MegaHertz. We got to 100MHz with Pentium-2 and Pentium-Pro (I think) then 1GHz with the Piii.
We can make 10GHz systems today. No users (well, normal people) will buy them. Because they don't want to pay $50k for the latest and greatest processor. Not to mention having the 30-ton air conditioning in their purpose built computer room and having the power company install a SECOND connection just for the room as well. Oddly enough, except for the super computer business and the military there are really a limited number of customers for such. Satellite companies routinely use the really expensive stuff but they are used to paying tens of millions of dollars for one unit, indeed up to hundreds of millions. And their gear is notoriously hard to service.
The public (as in customers) accepted the solution the move to more cores as they were unable to accept the massive heat from 5GHz and up. Also, look into ECC 'buffered' RAM. Great for enterprise, less so for power, heat and cost - for you, me and everybody we know.
Now we are easily running at multiple GHz. TODAY you can buy 4GHz system with 8/16GB of RAM, a reasonable video card & 1TB HDD for around $1K. I spent $6k on a PC-AT. Count your blessings (and get off my lawn ;-).
Multiple cores, really fancy floating point, huge graphic gains and all running at lower power than just five years ago. I had friends that were heavy into graphics and they routinely bought 1000Watt PC power supplies because they had to. Now, they're not necessary unless you are doing multiple cards or some other form of heavy computing.
Past that, read up on physics and semi-conductor processes. Electro-migration is a fun one. Atoms just moving around because they want to (actually quantum mechanics) at the finest layers. Remember that each new process essentially enables creating a new layer underneath the existing version. Things get tiny real fast that way.