David's Motivations Going Back and Forth
[SPOILERS]
I think that it would have been better to keep David seeming to be a reformed guy after he left with Shaw at the end of "Prometheus." Then, do a big reveal that he is evil and let David run with it. The way it is, you keep having these fits and starts, where David pretends he's a decent guy, then he goes evil, then he conceals it, then he goes evil, etc.
Fassbender is a great actor, but probably no actor could carry off the push-me-pull-you demands just one of his two characters has to carry.
I think that a reason for why they did things the way they did is because the script was yet another victim of the too-many-cooks-in-the-kitchen paradigm. Two story writers, two separate screenwriters, and Ridley Scott involved. After taking in all of the ideas, having one committed vision would have probably worked better.