Soft core Processors VS Hard core Processors
Soft core is implemented in FPGA fabric while Hard is implemented the same as any integrated circuit while still connected to the FPGA fabric. The comparison generally boils down to:

Hard Core Processors - 100's of MHz up to 1GHz+ of speed


Can achieve much faster processing speeds since they are optimized and not limited by fabric speed
Fixed and cannot be modified (though it can take advantage of custom logic in FPGA fabric for processing


Soft Core Processors - 250MHz and less (usually less than 200MHz)


Can be easily modified and tuned to specific requirements, more features, custom instructions, etc.
Multiple cores can be used (at the cost of resources)
Limited by the speed of the fabric.


In recent years, there's been a large move towards hard processor primarily due to the need for faster processing that the soft cores can't provide. When you put a hard core processor with the FPGA fabric, you can typically enable processing of a lot of data, which is needed for communication infrastructure applications (lots of GBs of data going by), for example.