It is because they abandoned the covenant of Yahweh, the God of their ancestors
"Yahweh has done this to the land because the Israelites did not follow the promises and the laws of his covenant". This is the answer to "Why has Yahweh done this to this land?".