1) For the same reason you'd use any microprocessor. You can write and debug programs for it in a high level language. In an FPGA context, you can also attach it to high speed HDL peripherals. Development using a high level language is typically quicker/easier than developing using an HDL, so for applications where you don't care that much about high performance, such as user interfaces or low speed control paths, using such a processor might be a good engineering tradeoff.
2) "Hard" in this context refers to a (part of a) chip that is created during the chip fabrication process. A hard core processor is a normal processor that has been incorporated into another chip (such as an FPGA). A soft core processor is defined by the configuration bitstream and can be changed to suit your requirements.