Place FPGA blobs down, now you have hardware like software components. But not an option for battery powered products, because of the high power requirements of FPGA's.
Not only that, FPGAs can't do sensing, can't condition analog signals, can't drive large currents. The power consumption is just one of many limitations.
Typically the reason why we produce something in hardware is because it's infeasible to do in software. This is because of the costs mentioned.