With a high Kh value pH drop is resisted through chemical buffering(reactions). The calcium carbonate(CaCO3) dissociates in the water giving you Ca+ and CO3-. An acid is, essentially, free H+ ions in water. A base is essentially free OH- in water. In order for the pH to go up or down, the concentration of H+(or OH-) must change. Increase H+, pH goes down(becomes more acidic).
All of these things reach an equilibrium within your aquarium, and the more CaCO3 you have in the water the harder it is to unbalance that equilibrium. If you add H+, you'll get HCO3, add OH- and you'll get Ca(OH)2. The more CaCO3 there is in your water, the more this will happen instead of the pH changing.
Edit; Didn't see karl's last post, but yes, it doesn't have to be Calcium carbonate. As you can see from how they react, the CO3(carbonate) portion gives the negative charge, other positive ions could take calcium's place with a similar(same) effect.
All of these things reach an equilibrium within your aquarium, and the more CaCO3 you have in the water the harder it is to unbalance that equilibrium. If you add H+, you'll get HCO3, add OH- and you'll get Ca(OH)2. The more CaCO3 there is in your water, the more this will happen instead of the pH changing.
Edit; Didn't see karl's last post, but yes, it doesn't have to be Calcium carbonate. As you can see from how they react, the CO3(carbonate) portion gives the negative charge, other positive ions could take calcium's place with a similar(same) effect.