Nice question. I had to search a little on the net. It seems like this:
When providing heat to steam, the energy will rise only the kinetic energy of the molecules (which is why temperature increases), as no significant intermolecular forces are present, so the heat capacity will be relatively low.
When providing heat to ice, the energy will be converted to only to vibrational kinetic energy, which will again cause temperature increase, and the heat capacity will be relatively low.
When providing heat to water, the energy will be converted to more types of kinetic energies (as the molecules in liquid have more freedom than in solid), but much of the energy has to be added for intermolecular bond weakening (latent hear of vaporization is 2260kJ/kg!). For a relatively big amount of energy, a low temperature increase follows, therefore the heat capacity of liquid water will be relatively high.