In John Green's recent video "I kind of hate Batman" he talks about how Batman isn't a good super hero but a lot of what he's saying is actually wrong and has more to do with Bruce Wayne as a person than Batman as a Super Hero, hence the title.
I don't think being a good person is necessarily required to be a good super hero. There are super heroes who are horrible people. Booster Gold for example does it for entirely selfish reasons. He could care less about the people he saves as long as he gets recognition as the hero who saved them. This kind of mentality would normally be a bad thing. There are people in real life like this who generally turn out to be the person who caused the crime or danger to happen in the first place. Like a fire fighter starting a fire specifically so he can put it out and save the people in the building he burned. True heroes don't seek recognition for their work. They should get it anyway because it's awesome but most of the time they go unnoticed. Booster Gold on the other hand is from the future so he uses his future knowledge of historical events to stop the crimes before they can even happen. This would normally be a good thing as he could be making the future a much better place except again, it's for entirely selfish reasons. Like he isn't going back in time to kill Hitler before he could start World War II because then no one would even know who Hitler was or about the horrible things he would of done had he lived. He can't get recognition for that. He specifically picks crimes he knows will make the news ensuring his own place in history. His entire goal is basically to build his reputation as a great super hero but he's really a horribly selfish person. This doesn't really diminish the good he does, he's still saving lives, no matter the motive, it's still a good deed. I don't think that makes him a bad super hero, just a bad person.
On the flip side, there can also be someone who wants to be a super hero for the right reasons, is essentially a good person, but is just really bad at actually doing anything heroic. This is going to turn to pizza but... Kick Ass. Essentially a good person, but totally sucks as a super hero. He's always needing to be saved by much better heroes like Hit Girl because he can't do anything. He's essentially just a kid in a Halloween costume playing super hero. He's as bad at being a hero as Butters/Doctor Colossal, is at being a villain... actually I take that back, Butters is way more threatening than Kick Ass is heroic. That's pretty sad.
So what other comic book characters can you think of who are great super heroes but horrible people or horrible super heroes but good people. Lets even extend this out the other way... Villains who are evil but aren't actually threatening or threatening villains who aren't necessarily evil.
Obviously Mr. Freeze could be considered for the second one. I mean the man only wants to save his wife's life. He's not a bad guy but he is one of the more threatening villains. Except in the Adam West series or TheBatman cartoon because in those versions he didn't have a wife and was just a common jewel thief. But I prefer the more interesting version of the character who isn't actually a bad guy.
On the flip side, there's Baby Doll who is evil but it's kind of hard to take her seriously as a villain when she looks like a little girl. Even her weapons are designed to portray her a sweet innocent child. She's actually about 30 years old but her growth was stunted giving her the appearance of a 5 year old. That doesn't mean she has to dress and act like she's 5 but she does. Not a nice lady, but she looks and acts like a cute innocent little girl... and you can pretty much just put her in time out. Being a horrible person does not mean she's one of the most threatening super villains.
Ni, peng, nee-wom! Ecky, ecky, ecky, pakang, zoom-ping! Baa weep grahna weep ninny bong!