He didn't keep his promise means that for whatever reason, he didn't do that action (keep his promise). It could be because he is a bad person or simply because he just didn't want to. But "failed to keep his promise" means probably his intention was to keep that promise (do what he said he wold do) but that something prevented him from achieving this. Usually, when someone fails at some action it means their intention was to accomplish that, but there were obstacles (problems) that prevented him from this action. So, the second version makes the person look less guilty.