"Critics of the Bible often cite Old Testament instances of slavery, violence against homosexuals, wiping out nations, etc., as evidence of a morally inadequate set of rules. They will also often ask why present-day Christians don't follow these "barbaric" teachings today. They complain that Christians are inconsistent, and say that if we really follow the Bible then why don't we advocate such things as killing both homosexuals (Lev. 20:13) and disobedient children (Deut. 21:18-21).
The reason we don't is because the Old Covenantal system that involved such harsh punishments has been done away with. We are under a new covenant. Jesus said in Luke 22:20, "This cup which is poured out for you is the new covenant in My blood."
This new covenant was prophesied in the Old Testament in Jer. 31:31, “Behold, days are coming,” declares the Lord, “when I will make a new covenant with the house of Israel and with the house of Judah." It is referenced in 1 Cor. 11:25, 2 Cor. 3:6, Heb. 8:8, 9:15; and 12:24.
Of particular importance to our topic is Heb. 8:13 which says, "When He said, 'A new covenant,' He has made the first obsolete. But whatever is becoming obsolete and growing old is ready to disappear." The Old Covenant with its harsh judicial judgments is no longer in effect because we are under a New Covenant.
Part of the reason the Old Testament covenantal system was so harsh is because first, the Old Testament law demonstrates the severity of righteousness and the requirement of perfection before a holy God. Galatians 3:24 says that the law is what points us to Christ. It does this by showing us that we are not able to keep the law and that the only way of obtaining righteousness before God is through the sacrifice of Jesus, who was God in flesh (John 1:1,14; Col. 2:9).
Second, the Old Testament times were very difficult and there were many nations that warred against Israel. Also, the devil and his demonic horde were constantly working to destroy Israel in order to invalidate the prophecies of the coming Messiah and to prevent the Messiah from being born and delivering his people. Therefore, God instituted laws, as difficult as they were, that were consistent with the culture of the times, that ensured the survival of the Jewish nation, that helped to maintain social structure, and also reflected the harshness of the law.
The New Testament covenantal system says that we are to "be at peace with one another," (Mark 9:50) and "with all men," (Rom. 12:18). Rom. 14:19 says, "pursue the things which make for peace and the building up of one another." After all, "God has called us to peace," (1 Cor. 7:15).
However, this does not mean that we are to approve of such sins as homosexuality, adultery, lying, and stealing. We are to not participate in the sins of the world. Instead, we are to avoid them. We are not to be violent to anyone since the old theonomic, covenantal system has been done away with (Heb. 8:13). Instead, we are to be kind to them (2 Tim. 2:24-25) and show them love (1 Cor. 16:14; 2 Cor. 5:14). But the moral condemnation of immorality still stands -- as is clearly taught in 1 Cor. 6:9-10 and Rom. 1:26-28.
So, the reason Christians are not obligated to stone homosexuals, disobedient children, and adulterers, is because we're no longer underneath the Old Testament covenantal system. It has been fulfilled and done away with (Heb. 8:13)."
source