Ariel Castro is a monster. He kidnapped three women and held them captive for ten years where he abused them and sexually assaulted them repeatedly. He is a sick man.
But if you ask Castro how he sees himself, he will say he's "not a monster" and actually believes that what he did was right. He believes the sex he had with those three women was consensual. Can you believe that?
He is a disgusting excuse for a human being but it is his very mentality and belief that he himself is a victim that makes him a great villain.
In the early days of film, villains were what many writers refer to as "mustache twirlers". Think of Snidely Whiplash from Dudley Do Right. These villains were paper thin in terms of character coming up with elaborate, often stupid, schemes to foil the protagonist and kill the damsel in distress with no clear motivation.
They were evil for the sake of being evil.
Today's audiences demand a more complex kind of villain. We've seen the likes of the 9/11 terrorists, motivated by religious fervor, and the likes of Ariel Castro (I'm sorry to say) are becoming more common. A mustache twirler is no longer scary.
Some might point to The Dark Knight and say "...but the Joker was a mustache twirler." No, he wasn't. While the Joker doesn't have a clear motivation, he's not motivated by something weak like money or power. These motivations are uninteresting to a modern audience. His motivation is to create chaos. He wants to push people outside the boundaries of their modern society to prove that deep down everyone is like him - evil. More importantly, though, the Joker does not believe that what he's doing is wrong. He believes he's doing the world a favor. He believes he's in the right. That's what makes a great villain today. Someone who is pursuing a cause that is good but in the wrong way.
A good example of this is the villain from the latest Superman film, Man of Steel. General Zod comes to Earth to capture Superman and take Earth as his own. Not because he hates Superman. Not because he hates Earthlings. Because he wants to use Earth to rebuild his homeworld of Krypton.
Now put yourself in Zod's shoes. If you lost Earth and you had the means to rebuild it on an alien world that was populated by a seemingly inferior species (say a world populated by ants), wouldn't you take the opportunity to rebuild it? I'd argue most of us would. So even though Zod is evil to us, we can see that he does not believe that what he's doing is wrong. And while we don't agree with his actions, we certainly understand where they come from.
That's what makes a great villain.