I pretty much entirely agree with
@Joseph Asphahani Other than having a pretty awesome name(AmIright?), but he pretty much hit the nail on the head. The perfect villain is just as likeable/relate-able as your main characters. The best villains ever are the ones you "Love to Hate."
I won’t elaborate, since Joseph pretty much said everything I would say on the matter, but I’ll provide some examples.
If you ever watched the Starz series of Spartacus(it’s my favorite show ever), the blood, sex and violence is a bit over the top but if you dig deeper it has one of the greatest written scripts of all time. The dialogue used on the show is in a Shakespearean style which helps but what makes it so good is the villains are just as likeable as the heroes. You can see where Spartacus, Crixus and Gannicus are coming from but you can also see where Batiatus, Marcus Crassus and Caesar are coming from too.
^That’s a pretty obscure example, I know. But let’s do a more known one.
Batman vs. The Joker. I know, I know... There’s so many stories about the two but the best ones happen to be the ones where The Joker points out the fact that Batman is literally one bad day away(Sorry, just watched "The Killing Joke.") from becoming The Joker. Batman is the hero, but The Joker exists SOLELY to mess with Batman to the point that Batman becomes just as messed up and deranged as him. In most stories it doesn’t work, but they exist to move each other in their "destined"/written path. Batman needs The Joker and The Joker needs Batman. The plot needs both. The writer needs both. Ultimately, the reader needs both.
The best Hero/Villain relationships involve them driving each other in the direction they need to take.