A long time ago, in a game that I ran about 2 and a half years ago, my players played some adventurers trying to figure out who unleashed a kobold attack against them (it was a game of D&D). They fled from city to city, trying to stay alive, always fearing from the next attack (they were attacked twice already when this happened), until they arrived to a city called "Bira" (both capital and ale in Hebrew). There they heard from an innkeeper about the house of the villain (the one who controls the kobolds), where he has his wife and three children.
Unknowing of what was to come upon them, they went to the house, meeting a young, innocent, naive woman, who is just trying to raise her 3 children without her long-time-abroad-little-time-here husband. They immediately felt sympathy for the young woman, and tried to help her with the children. Money was not the problem, you see... When a few days later, while they were suspicious (no kobold was seen for days), the innkeeper came to the house, changing shape to the husband. Except for the shock of such a revelation, the understanding that this man, this villain, is a family guy, who just tries to live his life, made this revelation much more surprising and the villain much more of a human, of a three-dimensional character.
Since then, each and every villain that I have has a family, or relatives, or something else of the like. It creates sympathy for the villain, it makes him/her a deeper character, and it makes the villain look less evil, and more in the grey area in the middle.