Let's talk about likable characters for a second, shall we? It's not like I have anything better to do.
I watched Iron Man a few days ago and that got me thinking about this topic. One of my favorite things about the movie was Robert Downey Jr., and I know I'm not alone. The man was perfect for this part, because Robert Downey Jr. is Tony Stark. Both have addictions, both have incredible charisma (a prominent feature in addicts) that makes them charming, makes them people you want to hang out with and do things for (this enables their habit - they have ways of manipulating you and convincing you that "they're all right"). Tony Stark is a likeable character. He's the kind of guy you want to be.
But he's not the kind of guy you want to be with. Look at him, he's a manipulative asshole that plays by his own rules. He leaves his best friend hanging several times throughout the movie (at the airport, at the award ceremony), he sleeps with women of dubious moral character, then has his secretary show her out. He forgets his committments, forgets his responsibility, and generally does what he wants to do, both before and after his "transformation". I certainly wouldn't want to hang out with him, but boy howdy do I want to live in that mansion, wear that suit, drive those cars, and be as witty as him. I want to be him, but not be with him.
Which brings me to the theme. The key to success for any story, no matter the medium, is to have likable characters. Any long-running TV shows have this - Friends, Cheers, Frasier, The Simpsons, Ninja Turtles, Ghostbusters, Star Trek: The Next Generation, X-Files. These all have characters that you'd love to hang out with. You probably wouldn't want to be them, since either their relationships are filled with so much drama each week you never know if you have a girlfriend or hate your brother this week, or you're under constant danger of living nebulas or FBI double-agents infected with alien oil.
Characters you'd want to be, but not be with seem more prominent in movies - Austin Powers, Indiana Jones, anyone from Star Wars (even the Ewoks). Maybe that's because of the likability principle - a character you would want to be, you can't take too much of. These are people who go on adventures, get pretty ladies, and end up with some sort of recognition or reward. Video games too - Squall Leonhart, Cloud Strife (oh no, I have to choose between Aeris and Tifa, how horrible to be in that position), Link, Mega Man, Scorpion, all these guys rank high in the GameFaqs character battle each year. Even bad guys fall into this category. Darth Vader and Hannibal Lecter? These guys last across multiple mediums because they are people you want to be. Look at the absolute power they wield, both mystical and not.
Many of the people I've mentioned so far are male-oriented characters. I don't know if this theory holds true for female characters. They seem to run the gamut from Jane Austen characters to Step Up 2: The Streets & Legally Blond. I guess I'd have to be a woman to get a bead on it.
But the reason I mention this is that all characters, to have staying power, need to be likeable. Unlikable characters in a fantastic plot often get forgotten (this is the case in Hitchhiker's Guide to the Galaxy, where Arthur Dent, the main character, is little more than a whiny straight man, Ford Prefect is a personality-less infodumper, Zaphod is a plot maker as he gets the group into trouble when needed, Trillian is T&A, and Marvin is Marvin. Fortunately, the humor more than makes up for these characters, but its why HGTTG's audience remains limited to cult status). How do you make characters likable? I don't know. I try and make them funny, but I know they have to have flaws, and are often based on characters in real life. Everyone knows a Rachel, or a Ross, or a Chandler.