The best heroes are the ones with discernible flaws that you’re not sure if they can overcome, but you still really hope that they will. Batman was the perfect example of this before he became “Batgod” (someone who can beat anyone). His whole draw is that, unlike Superman, who people find to be extremely boring due to his godliness, Batman is literally just a man in tights. He’s the PERFECT man in rights, but he’s still only human. There’s no alien tech, there’s no magic involved, he’s a super rich orphan who is fighting a one man war on crime, but because he watched his parents gun downed as a child he refuses to use a “cowards weapon”. He has the morality to not kill, and instead do things the hard way by letting criminal’s live in the one in a million chance they choose to reform. He’s a man. He has to sleep, he has to run a business, he has to pretend to live a life, but at the same time he’s still the perfect man, I’m that he’s trained his mind and body to peak perfection. Anyone, with time and money, could theoretically be Batman, which makes him that much more relatable, regardless of how impossible it is.
Basically, the perfect hero is someone who isn’t perfect and can use their powers to get out of every situation, because eventually you give up rooting for them because you never expect them to face a challenge. They have to have a good reason/origin for why they decided to dress up in a costume and fight crime in the first place. Most importantly though, they have to be slightly relatable, either through humour like Deadpool uses, being the most unlucky human being who has ever walked the planet so you want things to improve (Spidey), or by letting you feel like “I could be him if I tried, I really could” (Batman).