As I mentioned, during the global flood, there was a period of 120 years between the pronouncement of the judgment and when the flood came.
What about the Canaanites? Was there any time for them to change their ways? According to Gen 15, there was a 400-year period. During this time, their sins grew to the point where they would ultimately be judged by their destruction.
[Gen 15:13-16 ESV] 13 Then the LORD said to Abram, “Know for certain that your offspring will be sojourners in a land that is not theirs and will be servants there, and they will be afflicted for four hundred years. 14 But I will bring judgment on the nation that they serve, and afterward they shall come out with great possessions. 15 As for you, you shall go to your fathers in peace; you shall be buried in a good old age. 16 And they shall come back here in the fourth generation, for the iniquity of the Amorites is not yet complete.”The passage implies they were at their peak of sinfulness when the Israelites were commanded to kill them.
(CEB)
The fourth generation will return here since the Amorites’ wrongdoing won’t have reached its peak until then.
(GNT)
It will be four generations before your descendants come back here, because I will not drive out the Amorites until they become so wicked that they must be punished.
(UST)
After your descendants have been slaves for four hundred years, they will come back here. They will take control of this land and defeat the Amor people. This will not happen before that time, because the Amor people have not yet sinned to the degree that I would punish them like that for it.
https://debatingchristianity.com/forum/viewtopic.php?p=1138327#p1138327