I was just reading an article by a biblical scholar who argues that God’s command for Israel to destroy the Canaanites cannot be excused or justified. In other words, God was wrong in Deut. 20:16, and the Israelites were wrong to obey Him.
It is not my aim to explain the ethics of the conquest of the Holy Land in this short blog post. Rest assured, however, that Christianity does account for it. Even though our convictions on this account are often very difficult for modern readers, they are coherent. Michael Kruger, for example, has a really fine short treatment of this question in “Is God Guilty of Genocide?” Likewise, this piece from John Piper is really helpful as well, “The Conquest of Canaan.”
One thing I will point out, however. Christian theology takes it as axiomatic that God is good. He never does anything wrong. If your explanation of the conquest of Canaan begins with “we cannot excuse or justify” what God has done, you are no longer doing Christian theology.
Your sources may be wrong. Your understanding of your sources may be wrong. You may be wrong. But God is never wrong. Therefore, his word is never wrong.
It is paramount that you embrace this axiom, or else you will find yourself doing theology but not CHRISTIAN theology.