User blog comment:Fist of fire/between a rock and a hard place/@comment-4493594-20120626114233

Garp took Ace in because Roger had asked him to. He understood that it was not Ace's fault being born as Roger's son and he wanted him to live.

However, he didn't want him to become a pirate. Remember he said he wanted to make both Ace and Luffy Marines? I think he only accepted Ace's and Luffy's decision to become pirates because he wanted them to live freely and the way they want since that's his idea of being a man. Plus, he knew that they didn't do anything "evil". They never killed civilians, right? So in his own sense of justice Garp didn't see any problems with their lifestyle even though he didn't exactly approve of it. That is why he let Luffy go at Water 7. Most importantly, he could still pretend to have "merely" failed his job.

The reason why he "let Ace die" is because he was already captured. If it had been Garp who caught Ace he would have let him go, too. But to handle the rules loosely and to break them are two different things. And Garp had put his duty over his personal feelings, which was expected from him as a Marine.