This isn't necessarily true. A good villain is often written to make a good point that is to some degree or another true. Its just that they go try to achieve their noble goal in the worst way possible.
Ganondorf in The Legend of Zelda Wind Waker is a pretty good example. Even though I didn't like a lot about that game, the writing of his character was great. He wanted to see the peaceful wind Hyrule had, for in his own land "the wind always brought death." Which itself is a pretty noble cause. The problem is his way of achieving it: taking it away from Hyrule.
Another one that could be argued is Joaquin Phoenix's Joker: his desire is better social support for people that are socially marginalized (well, one of them at least), a point I genuinely agree with, socially awkward people should have access to better social support. However, he tries to achieve it in literally the worst possible way, and I don't agree with the way the character goes about it.
It makes the villain more believable. No person does something evil just for the sake of being evil. Well, maybe some do, but most don't. They usually believe what they are doing is a noble cause, and it usually is (like, providing better for my family says the thief, or ridding the world of bad people says the assassin, etc). They just use awful ways to do it, instead of better, less deadly and injurious ways.
Obviously there are exceptions, but that's doesn't mean all villains are evil just for the love of the game.