How do you define evil, how would you define anything, My definition could be far more radical than jumping on a grenade to save comrades, it could going into a fight knowing you would die, but in going you know that the time you buy could mean eventual victory (Thermopylae, cough cough sputter sputter), that jumping onto the grenade could be call an honorable act, or even noble, definitely deserving of some sort of medal. Heroism to me would have to be a self sacrifice for the greater good, though it needn't be your life, it would mean that you have put your life at risk with little chance of survival.
Superman would not classify as a hero in my books, his only weakness is Kryptonite, he can defeat anything from any distance with little chance of being harmed (Yes if someone is using Kryptonite against him then he being heroic even if he is being really stupid, he has heat vision for a reason duh).
Batman would be a hero, no super powers, completely mortal and he fights people with guns and other stuff, but it is that he can die from being shot by a stray bullet that makes him a hero to me, he puts his life on the line for a greater good.