The way I understand it, the weight of the dam is what holds the water back. The deeper the water, the more force you have against the dam.
The slope of the dam is to increase the weight of the dam to hold back the water. You need so much freeboard above the water level to add more weight to the dam to keep it in place.
Without a keyway, the dam that is built on top of the soil can slide or move over time. Having the keyway locks the dam into the soil and holds in in place. In theory, you wouldn't need a keyway if the dam was so much taller that there would be no way of it ever moving, but that could make the dam twice or three times bigger. the keyway allows us to build a dam with less dirt.
Eddie