The best definition of the difference between a "hero" and a "saint" comes from Francis Ambrosio in his lecture series "Philosophy, Religion, and the Meaning of Life." He writes:
For the hero the meaning of life is honor. For the saint the meaning of life is love. For the hero the goal of living is self-fulfillment, the achievement of personal excellence, and the recognition and admiration that making a signal contribution to one’s society through one’s achievements carries with it. For the saint, life does not so much have a goal, as a purpose, for which each human being is responsible, and that purpose is love, and the bonds of concern and care that responsibility for one’s fellow human beings carry with it. These two paradigms, the hero and the saint, and the way of life that descends from each, are really two fundamentally distinct and genuinely different visions of human society as a whole, and even of what it means to be a human being. They are two distinct and different ways of asking the question of the meaning of life.
So this is where we start. While both heroes and saints are revered by many, they do represent significantly different approaches to life, different worldviews.
A hero finds his worth in doing things for others, things that will bring him the approval and applause of the masses. Achieving excellence and serving others are laudable goals, which is why we glorify, even worship, our heroes. A hero fights battles on our behalf and is willing to do anything to save us. This is why we need heroes and why we are so willing to give them the adulation they deserve. In the end, though, a hero serves himself as he serves others, and this is what differentiates a hero from a saint.
A saint is much different than most people's idea of a hero. Rather than dying for a cause, a saint dies to himself. In the Western culture, killing those who are threatening to harm the innocent is much more praiseworthy and even easy to do than figuratively "killing" our own needs and desires. Wanting to bring glory to God, for example, is much more challenging than wanting to bring glory to ourselves. We can do it, but we do not always want to. Being a saint requires sacrifice, just as being a hero does; however, the sacrifices are different. Being willing to give up or spend one's life for a cause is typical hero thinking; being willing to lay down one's life for all mankind is typical saint thinking.
In a practical, non-philosophical world, we need heroes. We need firemen, policemen, emergency room doctors, and soldiers (to name a few) to save us from ourselves and others; however, a world without saints would be lacking compassion for the least among us, so we need them, too.
One more facet of this issue to consider is the fact that a hero is only beloved by those he saves because he has chooses sides; a saint is beloved by all because he chooses to show compassion and love to all.
Do we have to choose between them? On a larger, societal level, we do not have to choose because there is room for and a need for both heroes and saints. On a personal level, however, of course we must choose one of these two worldviews. Either we are going to serve others for earthly reasons or we are going to serve them selflessly for more eternal purposes. Both are worthy callings, but they are mutually exclusive. We do not think of, say, Napoleon or Patton in the same way we think of Mother Teresa or St. Francis of Assisi. Heroes are not saints.