Why aren't FPGAs ubiquitous?
You are ignoring a lot of factors that go into making design choices:

Cost.  FPGAs are more expensive than micros for the same complexity of logic.

Logic complexity.  Executable code can implement far more complicated logic than the same number of gates in the micro used directly.

Ease of development.  It's easier to write executable code than to define logic for all but small problems.  Even modest microcontroller projects have thousands of lines of code.  Developing the equivalent logic definitions would take much longer and be much more difficult to debug and verify.

Power consumption.  Since FPGAs are intended for high speed operations that micros can't handle (else you'd use a micro), they are not optimized for low power.  This makes them unsuitable for some low power applications.  Some micros have sleep currents under 1 &micro;A, and can operate on just a few &micro;A at slow clock rates.  Try finding a FPGA that can do this.



The main advantages of FPGAs versus micros is that they are faster and can do more things in parallel.  Other than that, you'd rather use a micro.  Therefore in the design process, you usually start out with a micro, then grudgingly go to a FPGA when you really need the speed and/or concurrent high speed operation.  Even then, you implement only the speed-critical parts in a FPGA, and leave the lower speed control functions and the like in the micro.