Question:why does Edgar Ross kill John?
Edgar Ross killed John because John was the last of his former gang. Ross was trying to rid the West of it's outlaws, and John was still considered one. Ross simply used him to find the rest of his gang, then went after John himself. That is why the mission is called "The Last Enemy That Shall Be Destroyed" Because John is the last in his gang.
I think OP is confused because they just spent the entire game helping the lawmen, doing good deeds and being a generally nice person. Yet, after being such a swell guy one would think John had redemed his name and should be allowed to live.
I think the moral is, Don't trust people who kidnap your family.
I think the moral is that great men are not always wise.