18 Joshua made war a long time with all those kings. 19 There was not a city that made peace with the children of Israel, except the Hivites, the inhabitants of Gibeon. All the others they took in battle. 20 For it was of the LORD to harden their hearts, that they should come against Israel in battle, that He might utterly destroy them, and that they might receive no mercy, but that He might destroy them, as the LORD had commanded Moses. – Joshua 11:18-20
Warning: This is when I turn off a bunch of readers with my questions.
Reading through Joshua looks very similar to the pattern of the flood. The flood brings judgment to all living things with the exception of Noah et al. And God promises never to flood the earth in the same way again. But He doesn’t promise to restrain judgment.
The book of Joshua reads like a series of local, particularized floods, bringing judgment to entire cities and tribes. We read these passages with our arrogant, self-indulgent sense of morality (which when really weighed will hold no water*), and we cannot grasp the angry God who orchestrates such an event.
But another question might be asked, “Why does he hold back judgment for so long?” The pattern in Scripture and in history outside of Scripture seems to be that God shows mercy to the undeserving (such as Ninevah) in ways and for periods far longer than we would show mercy. His mercy is unfathomable, but His justice is sure.
* – C.S. Lewis’ “Till We Have Faces” is one great response to our empty self-righteous morality.