the realistic ones: those that have a real reason and not necessarily a bad one, like a good goal but bad method, or a trauma, or knowledge than the main character/us doesn't have and that makes the actions seem good (example: killing lethal virus infected/bad people that the main guy believe normal people. It's a bad example, I know). (opposite to the hollow ones, those that just serve to give a purpose to the main guy and that doesn't have any (real) reason or goal by itself.)
Well, since you asked, they have to have the right balance of craziness, a sadistic nature, arrogance, calmness in most situations, and power and skill to back up the talk. Make them toy with the protagonist while still having the upper hand. Really make them someone that you want to see taken down, but has a multi-dimensional character to them. This is just my opinion of what makes a good villain, so please don't take offense if my opinion differs from yours, ok?