I would like to add above, that when some disasters hit a city, these ancient people don’t make repairs. They would just spent years building new city on top of the older ones.
Many ancient cities in the Middle East were like that, and archaeologists often find that newer layers of cities were built over the olde ones, like Jericho, Uruk (which you probably know in Genesis as Erech), Damascus, Babylon, Nineveh, Troy, etc.
There are at least 20 layers of Jericho, stretching as far back as early Neolithic period, shortly after the Ice Age had ended 11,000 years ago.
Of course, not all these layers were caused by natural disasters or by wars. Sometimes cities are just abandoned for no apparent reasons, and new group of people, centuries later, might come by and built a new city on top of the older one. Possible examples reasons of abandoning towns, like virulent diseases, famine, droughts, economic changes (no trades), etc.
But any competent archaeologists or engineers would know the evidences caused by flood.
What happened is that these layers of cities and towns that have been buried, often preserved these evidences that are left behind.