The description of this movie isn't entirely accurate. There certainly is a villain; it's just ironic that he's supposed to be the hero. Henry Higgins is an absolutely despicable human being, with virtually no redeeming qualities. Certainly he helps Eliza, in a very limited way, but he does it with no altruism or generosity whatsoever. And the idea that he "learns a lot about women, as well as about superficial appearance versus inner beauty" is entirely false. He seems to have no arc at all, and as far as I can tell he doesn't learn much of anything for the course of the film. Neither, unfortunately, does Eliza. Audrey Hepburn is wonderful, but that character is one I wish my daughters had not had to witness. While she is feisty at times, in reality she seems to have no self-esteem at all. SPOILER: Her return to Higgins at the end of the film is one of the most tragic endings I've ever seen.