To me, a villain can be great for different reasons. I can love a villain because of his origin and motivation, because of his philosophy, because of the action he provides, because of his presence, and so on. A villain can have one of two of these things and be a great villain to me.
I honestly feel that presence is one of the key aspects for me to like a villain. What he makes me feel when he's on screen. Joker is a great written villain in The Dark Knight, but I think the biggest reason for why I like him so much in the film is because he steals the show everytime he's on screen.
To make it very short, Doc Ock in SM2 basically wants to rebuild his invention. That's a pretty uninteresting and bland motivation if you think about it like that. But his presence in SM2, as well as the action he provides, makes him one of the most iconic CBM villains.
Magneto is one of the villains who, in my opinion, has everything. His origin, motivation and philosophy is great comic book movie material. He also has a presence that makes him really interesting. To me, he's definitely up there with Joker.
What makes me like Loki a lot is that not only is he understandable, sympathetic and well written overall, but he also has an awesome presence. Every scene he's in, he steals the show.
Compare that to Malekith. I think, the way it's explained in the movie, I can understand his motivation. It's fine. But he has absolutely zero presence. He's boring, simply put. Everytime he's on screen in Thor:TDW I just wish it to cut away to something else (not really though, because the entire film is boring).
Same goes for Killian, even though I don't really understand his motivation fully. What essentially makes him a bad villain for me is that he doesn't make me feel anything. He's just another "villain of the week". When I see him, I don't think "Wow, there's our villain!".
The same can be said for most of Marvel Studios' villains. They're just there. They can have understandable motivations and origins and all that, but when they're on screen they're just there. I don't feel interested in them, even though I know their comic book versions are awesome.
I have to say though that I really like Winter Soldier and Ultron. Winter Soldier doesn't even say much but when you see him, he feels like a really cool villain. Ultron isn't very popular here, I know, but I really enjoyed him. And a big reason for that is his presence. The presence doesn't need to be super threatening, like Bane for example, but just special overall. Ultron felt unique and likeable, and that makes him a good film villain to me.
I think that looking forward, Marvel Studios' need to create film villains that not only have understandable motivations and origins, but equally or perhaps even more importantly also have great presence.