The primary reason for this is erosion of various types. If wind loosens soil, it can become airborne and drift downward because of gravity. If there is rain, and especially heavy rain, it will loosen and wash soil away. Again, gravity will carry the soil toward the bottom of the hill. There is also a process called "creep" where over time soil slowly moves from a higher to a lower point because of the effect of gravity on the mass of soil. Of course, the steeper the hill, the faster the soil can be moved toward the bottom.
The soil on the tops of hills is often more shallow than the soil on lower slopes as a reult of erosion. Soil particles that are displaced by wind or water will naturally be carried downhill and deposited on the lower slopes. The effect of erosion is also much stronger at higher altitudes because higher slopes are subjected to higher winds and may have less vegetation to keep the soil in place.