Specific heat is the heat energy required to raise the temperature of a subtance by 1 °C. diffrence substances require diffrence amount of energy to raise the temperature for e.g. water requires lesser energy to be heated than iron (I hope u agree...try it....give same amount of heat to same mass of water and iron...iron will not heat easily) To change the temperature of a body means to change the average kinetic energy of its particles. The particles of different substances have different masses. Iron atom has mass 56 and water molecule to increse the kinetic enegy, more energy has to be given to iron To set it moving (I mean it kind of vibrates in its position with that energy).
Because the amount of energy required to heat them up is different. Think about other forms of energy: 

Objects with different mass will require different amounts of kinetic energy to reach the same velocity. You will also have to raise them to different heights to get the same gravitational potential energy.