"For God has bound all men over to disobedience so that he may have mercy on them all." Romans 11:32
I find this very encouraging. No matter your shortcoming or failure, God longs to be merciful to you. He longs for a relationship of true love, and a love that is demanded is no love at all. So, he lets us disobey him. He lets us sin. He lets us go our own way. Why? So that he can be merciful.
God lets us fail because he knows our failures make us rely on him even more, and the more we rely on him the stronger we become. James 1 says it this way: "Consider it pure joy, my brothers, whenever you face trials of many kinds, because you know that the testing of your faith develops perseverance. Perseverance must finish its work so that you may be mature and complete, not lacking anything."
I don't know about you, but I know my faith is tested the most when I disobey God--when I sin against him. When I finally have the courage to face him after a failure, you know what I find? Mercy. Everytime. And the more merciful he is the more I want to please him and never fail again. But I do. And he lets me, because God loves us enough to let us fail.