I don’t mind superheroes killing. The Silver Age restrictive moral code often led to nonsense situations where for example Superboy would kill Bizarro and then calmly explain that he was never alive in the first place the first time they mt, or that George Reeves episode where he leaves some crooks on top of a mountain only for them to die trying to get down. It’s not plausible that Superman didn’t know that would happen. Ironically, the no-killing code tends to create situations where heroes become self deluded murderers.
I’d much rather have heroes who will kill in intense situations where it cannot be avoided, and then fess up to it. In Action Comics v2 #23 or w4, Superman kills “Lexus Devourer of Life” and says Lexus wasn’t really alive. Dude, it’s not okay to kill him because he’s “not really alive”, Superman himself quoted “cogito ergo sum” at the Phantom Stranger about some zombies in Byrne’s run on Action. No, it’s okay to kill him because he’s LEXUS DEVOURER OF LIFE, and he will be neither contained nor stopped without lethal force. Superman killed two Zods, Doomsday more than once, Imperiex, arguably Mongul, and at least tried to kill Henshaw a few times. That’s not a moral failing. That’s just doing what has to be done. Superheroes should never be so kill happy that they’ll accidentally kill a civilian or other non villain, something like poor Bizarro. It should always be a last resort. But refusing to acknowledge those situations only creates ones where the heroes break their code and then refuse to admit it. They become hypocrites.
I mean, I’m okay with Batman being unable to kill, but after all that “all the people I’ve killed by letting Joker live” stuff in DKR, I’m almost willing to see that trait, normally a strength, as a flaw in those harsh situations where for example Wonder Woman might just kill the bad guy.