He's introduced as an android, but people just shrug it off. Holloway's argument that David doesn't have emotions but only the appearance of emotions because it makes a better human interface, seems to suggest that they're an everyday part of the world, like spaceships and terraforming.
I didn't think David was more advanced than either Ash or Bishop either (although I'd guess he's more expensive than the latter due to his military role) since both exhibit much more sophisticated interpersonal skills for a synthetic.
How much of David's behaviour was down to shite programming or a downright fucked-up mission objective...?
I think that Ash and Bishop were different types of android, a different approach to AI. They're more constrained, they're more functional. They can pass as human because they're programmed to pass as human. Ash is always constrained to act as Ash, if that makes any sense.
David, I don't think there's much programming going on there at all. He seems like an AI that's learning the world rather than one who's been programmed to know it. I can't see Ash or Bishop watching a film, and thinking 'Yes! That character! That's who I want to be like!' But that's our introduction to David - he chooses his own personality.
Another part of David's introduction I found curious was of him learning languages in the same way as humans do. Instead of downloading a set of rules to parse a language, as current translation software does, he does it the old-fashioned, slow, human way.