If you just needed a microcontroller, and didn't have an FPGA, it would be unusual to use a FPGA with microcontroller firmware. However, not all projects grow in that direction. Many tasks have clear need for a FPGA, but eventually come across a task which really isn't suitable for a VHDL solution. Sometimes a problem is simply best handled by a general purpose CPU. Or, sometimes it's the other way around: some tasks are simply not suitable for a general purpose CPU -- they need parallelism.
At that time, you have a choice. You can either add an additional chip to your device, or you can realize you have a bunch of spare gates on the FPGA you're not utilizing. License a little IP, and you can have a working general purpose CPU in no time!
Another interesting detail is that you can customize some microcontroller firmwares. I know of projects which embedded a Power PC, but stripped out all of the gates needed for floating point support, and a good chunk of the branch prediction. This made it small enough to fit side-by-side with the VHDL based firmware.