A couple of years ago, then Pixar storyboard artist Emily Coats tweeted pieces of advice on making stories that she had picked up from working with Pixar, which were later compiled in several places on the internet, such as this io9 post. Later, Dino Ignacio created image macros of the individual rules which I am using in these posts.
Rule #13: “Give your characters opinions. Passive/malleable might seem likable to you as you write, but it’s poison to the audience.”
It doesn’t matter how many personality quirks you load them up with, people are going to have a hard time remembering your NPC’s if they passively agree with your players all the time. Opinions are your opportunity to give the impression that your NPC’s have independent thoughts, and that makes them feel all the more real. They are a fantastic tool for character development because they not only help establish how a character sees the world, but also where their priorities lie. Even the subtle shades of difference between two characters who agree on something but approach it differently are ripe ground for making characters distinct.
Bioware does a great job with this in their CRPG’s, not only in having NPC’s express their opinions on what the player is doing, but also in expressing their differences of opinion with each other, so I’m going to pull a few illustrative examples from Dragon Age: Inquisition. Blackwall and Sera have similar opinions of the nobility, namely that they are selfish bastards who think they’re better than everyone else and who will abusive those beneath them without a second thought. Those two characters share quite a lot of jokes with each other at the nobility’s expense. When it comes down to it, however, Blackwall knows that pissing off nobles is dangerous, and he would rather placate them (to their faces, at least) and keep them as allies, while Sera is happy to insult nobles to their faces. Thus, we see that Blackwall is pragmatic (or perhaps even hypocritical) while Sera is uncompromising (or perhaps irresponsible).
Another interesting case is the Iron Bull, who’s a spy for the Qunari, an expansionist theocratic power that is culturally alien to the rest of Thedas. Most of your party members, if pressed, will admit that the Qun is disturbing to them, but they don’t give Iron Bull much grief over it because he’s not actively trying to convert anyone, because he doesn’t do anything besides observe and send home reports, and because Corypheus is a far more pressing concern than some nation halfway across the world. Dorian, however, gets into arguments both because his nation has been continually at war with the Qunari for ages and because he’s a mage and the Qunari treat mages very poorly (to put it lightly). Solas also gets into conflict with Iron Bull because he is so morally opposed to the Qun that he can’t overlook it even in the face of a much more relevant crisis. It tells you quite a bit about these characters to see that Dorian responds to personal concerns while Solas is willing to pick a fight over an abstract philosophical point.
You can apply this to your game by coming up with a list of hot button issues in your world (with variations from location to location and region to region) and figuring out where your NPC’s stand on those issues. Those issues should ideally reflect the themes of your game in some way. For example, if one of your game’s major themes is Order vs. Freedom, and each of those poles is represented by factions who are in conflict with each other, then most NPC’s in your world probably have an opinion about that conflict (much like practically everyone in Thedas has an opinion about the Mage vs. Templar war). This not only reinforces your themes by establishing their importance to the world, it also gives you an opportunity to inject nuance into what might otherwise become a stark dichotomy. One NPC might believe strongly in the mission of Faction A but disagree about the specifics of acceptable means and what its final goals should be. Another might feel a philosophical affinity for Faction B but think that the entire conflict is facile and should be abandoned.
This is not to say that all of your NPC’s need to be bundles of strongly-held opinions constantly ricocheting off of each other (though characters like that are obviously great for generating conflict). It’s okay to have a character who’s opinions on a subject are half-formed and malleable, and having an NPC come to change their opinion on something in a believable way makes for great character development. But a character that is never willing to take a stance on anything is going to have a hard time making an impression, especially if they are one of many NPC’s who seem to agree with everything the players say.