I think what it came down to for Shane is that taking the chance to save Carl was more important to him than the life of the man who shot Carl. Otis kept saying he was trying to do right by Carl. So Shane made sure Otis paid that debt.
And in the back of Shane's mind, not that he would be ready to admit it, he wanted to be Lori's hero. The problem is Shane is basically a good man, and now he will have to figure out if he can live with his decision.