Several reasons, including the one you listed in places with lots of vegetation. In more arid areas blowing sand and dirt gradually covers up ruins; you might find a good coat of dust on a car sitting out for a week- imagine how much dust gets accumulated over 1000 years. Also, many older cities were made of mud bricks, and they gradually collapse- adding more soil to the area to cover up ruins. Towns or cities near trade routes or good water sources tend to be used continually, so as buildings collapse from age or are knocked down in battles, new buildings are simply constructed on top of the old ruins. Which is why in many cities when they dig up the streets or other areas, they find relics, old foundations, etc. Some towns that were destroyed by war or even earthquakes might be abandoned, and a new village built beside the old- then the old one becomes the "dump" for garbage and such, which then further buries the remains. But depends on location, where there is lots of vegetation that grows and then dies and decomposes, the soil builds up fairly rapidly. Reason why many ruins in Central and South America were hard to find- they buried quickly as the jungles retook the area when people left.
Add a comment
to see other 4 answers