Hardcore means that you cannot change anything in it. You can only use it in your design as it is. But in softcore you can also make some changes based on your design requirements. Every thing in FPGA cannot be implemented using basic LUTs only. For better performance we requires some larger components like adder, multiplier, processor etc. Almost every design have some processing requirements. So it always better to have a processor in FPGA it self for better performance. You also requires a large programmable file to built a processor. If processor is build using programmable interconnection it will have poor performance..! Also you will not be able to meet you other design goals.