These are some reasons I can think of:
1. Sometimes PCB space restricts you from using many different IC's to achieve a certain goal - So you choose to integrate all the logic on a single FPGA.
2. FPGA's are very flexible - many different (and custom) peripherals can be implemented on a single device.
3. Solution implemented on FPGA's (essentially pure hardware) tend be much more timing deterministic.
4. The availability of hardware engineers.
There are applications requiring the ability of the circuit to perform almost real-time operations, such as dealing with video streaming, protocol conversions, etc...A microcontroller based system has the advantage of being easy to use, but has drawbacks such as the fetching time to get instructions microcode. In nowardays it is possible to get the best of these two words, by running softcores in FPGA, but enabling or calling instructions implemented in hardware.