I just watched batman under the red hood and yes ik im a few years late but watching this just deepened my hate for batman. At the end he basically admits that if he kills the joker he wouldn't be able to stop himself from killing everyone (villain) else. All this shows is that batman is a character is very weak willed.
Even before the movie i still had this annoyance when it came to heroes not killing their villains because it made absolutely no sense. The there's that argument that people bring up that if a hero kills a villain it in turn makes them a murderer making the percentage of murders stay the same but wouldn't that be a good thing. The reason being is that unlike a villain a hero knows there bound they're able to stop themselves and anything they do is for the betterment of others thus stopping them from going down the villainous path.
People also seem to believe that if your a murdered your automatically a villain which is a rather weird perspective to have. With that belief people in the armed forces are villains, people who kill as self defence are villains and if someone kills someone that has killed thousand that makes the killer a villain. That way of thinking is just false in so many way possible.
With what i wrote i don't even think any dc and marvel hero is a good hero. Imo the ideal hero would be goku and even i would put dr.halsey as a hero. A hero isn't someone that dresses up and saves people a hero is someone who can rationally outweigh the odds.
Also the only reason why heroes don't kill villains is because of money if there was no more villains then there wouldn't be a way to write compelling comics so yea business could be the reason why.