A villain doesn't need to be dark to be compelling. They only need to be challenging to the hero, so that they force the hero to push beyond their own limits in some way and learn a lesson to overcome them, and to have strong convictions in something the audience can feel like they genuinely believe.
Heath Ledger Joker isn't scary because he kills people with pencils. He's scary because he places absolutely no value on life, including his own. He's embraced absolute chaos and nihilism; he can't be reasoned with, he can't be persuaded or bought because he doesn't want anything, and Batman can't just punch him until he stops, because he just doesn't care. He just wants to push people to their limit to show that anyone can become a monster if you do that. Ledger played him with a haunting, understated intensity that was a contrast to every previous, cartoonish joker. The Joker is Batman's most popular villain because he forces Batman to struggle with the idea that he might also be insane, and also that all his efforts may actually be meaningless. He represents the struggle of trying to do good in a chaotic world where it might not even matter, and the ultimate triumph of doing so anyway, but also the toll that takes on a person. Bane may be the villain who pushes Batman to his physical limits, but the Joker pushes him to his emotional limits, and that's why he's probably the most iconic villain for that character.
Compare another superhero villain a lot of people like for a very different reason; Killmonger. Killmonger isn't really all that bad a person in a lot of ways. His motivations are that he wants former colonial powers to give back all the stuff they stole from African nations and still hold in museums, and he wants the powerful, advanced African country of Wakanda to help out impoverished neighbouring countries and also oppressed Black communities around the world. He's mostly a pretty honourable guy and he takes the throne of Wakanda through fair combat. He's not dark or nihilistic or evil or anything, but he's a well-regarded villain. He's a challenge that can't be easily overcome, and I think that's why a lot of people don't like the ending fight of Black Panther (other than it kinda looks like a videogame); the hero ultimately just kinda.... fights again, but better? Ultimately Killmonger wins, because Wakanda does open up to the world, and starts helping communities, so he did force T'challa to change... but he didn't need to change to beat him, he was just changed by the experience.
If the villain is weak and non-threatening and easily overcome by the hero, like say Winston Payne, the minor Ace Attorney antagonist who tends to be the "tutorial boss" of those games, and who is an incompetent prosecutor, easily beaten, then they're not going to be a great villain (and to be fair, Winston Payne isn't meant to be a great villain, he's meant to be a tutorial villain).
But a villain can be super-dark and evil and still be a weak villain if the hero doesn't need to grow or change at all to beat them. If your hero is really good at punching, and the baddie is an evil monster who has killed and tortured thousands of people and eats babies and kicks puppies and leaves the toilet seat up, but then all the hero needs to to to beat him is to just punch him, that's a crap villain.
Whether your antagonist is a truly honourable, worthy opponent, or the most wicked and depraved killer possible, the key thing for me that makes them great is to have them undefeatable without your protagonist being forced to their absolute limits and changing in some way, learning a lesson and coming out of it with something powerful and profound that makes it feel like a hard-won victory.