I think that it is just the sheer imperfection that makes a villain easy to create. You can just play around with them; make them be whoever you want them to be. Heroes usually are more likable and easier to relate to (save for a few exceptions).
On the other hand, maybe it's just human nature. It's very easy to point out a person's flaws outright, but you have to delve deeper in order to find a characteristic that you actually like about them.
