Sheikh Muhammad Saleh Al-Munajjid, the prominent Saudi Islamic lecturer and author, states that: “The Arabic word ‘Makruh‘ means detested, the opposite of liked or loved. In the terminology of Shari`ah, it refers to something which the Lawgiver asks us not to do, but the injunction is not in a definitive manner. It may be said that it means something refraining from which earns a person reward as long as he does not do it out of obedience, but a person who does it will not be punished, either.
As for the Arabic word ‘Haram‘, it means forbidden. In the terminology of Shari`ah, it refers to something that the Lawgiver requires us not to do, the injunction here is in a definitive manner. Haram is the opposite of Halal (permitted). A person will be rewarded for keeping away from Haram as long as he refrains from doing it out of obedience, not out of fear, shyness or the inability to do it; in those cases he will not be rewarded for not doing it.”