The difference between a well-done villain like Ursula in Disney’s The Little Mermaid and a poorly done one like Rasputin in Don Bluth’s Anastasia is actually pretty simple. With a well-done villain, you can understand and sympathize with whatever made them who they are… you just can’t agree with the decisions they made as a result of that past. With a sub-standard villain, they come across as too simplistic.
Rasputin is a good example of this because his primary motivator is obsession. While that’s a perfectly realistic motivator, it takes a lot of work to make obsession work in a literary context even though it’s actually a fairly simple emotion. (I know people who are at least as obsessive as Rasputin and have hurt others along the way, but truth is stranger than fiction after all.)
If you compare Ursula, she’s actually a surprisingly well-rounded villain for a Disney cartoon. Especially when you realize that, in a setting that seems completely innocent, she sings a “villain song” that hints at prior experience with misogyny and offers a readily metaphorical deal where a young girl can get her man but must give up her voice and her family.
Good characters lend themselves more readily to more constructive adjectives like “cynical” and “misanthropic” (Ursula) which, even on their own, readily imply potential character histories. Rasputin’s descriptors, by contrast (obsessive, evil, undead, basket-case), aren’t as helpful.
In other words, a good villain is someone who could have been a sympathetic protagonist but chose to go about things in a completely unacceptable way.