Why is the [specific] heat capacity of water high?
Most likely due to its hydrogen-bonding.
These intermolecular forces are particularly strong, and are distance- and angle-dependent.
They strongly hold together the water molecules together and make them liquid phase at room temperature and pressure. This is also why water has a high boiling point.
That allows water molecules to absorb a lot of heat before vibrating all that much, which leads to a high specific heat capacity.
For comparison, consider the specific heat capacities (typically at constant pressure) below, from NIST unless otherwise specified:
#"H"_2"O": C_P = "4.1841 J/g"^@ "C"#at #"298 K"#
#"H"_2"S": C_P = "1.0050 J/g"^@ "C"#at #"298 K"#
#"H"_2"Se": C_P = "0.4285 J/g"^@ "C"#at #"298 K"#
And we do indeed see a significantly higher specific heat capacity for water than for compounds analogous to water.
The specific heat capacity from a statistical mechanics point of view is basically the capacity to store energy in certain energy levels (translational, rotational, vibrational, electronic).
When these energy levels are low, the minimum temperatures required to occupy those energy levels are also low, so they are easily occupied.
However, if you notice, the vibrational temperatures
That means water can take in a lot of heat before it vibrates to a significant extent (occupies its vibrational states), and that gives rise to a high specific heat capacity.
This is likely a result of its hydrogen-bonding, which try to fix the protons in place for the interaction, which is both distance- and angle-dependent. That would make it difficult to get water to stretch and bend its bonds in bulk solution.