GameSpot has an editorial called "Black or White: Making Moral Choices in Video Games" about morality in video games. Among others (sadly only developers of some recent titles, not any of the older ones with great morality systems), they talked to Fallout 3 lead designer Emil Pagliarulo. Here's a fragment:
When Bethesda first looked to acquire the Fallout licence, one of the things that stood out for the publishers was the way the series handled morality. While the game's Karma system tracked players’ good, evil and neutral deeds, there was also a strong sense of moral ambiguity, meaning choices and actions went beyond the simple 'good' or 'evil'. Bethesda found this complexity convincing, and sought to implement a similar morality system in Fallout 3 that, while mechanically different, had the same spirit.
Emil Pagliarulo, lead designer for Fallout 3, says this has less to do with a well-designed morality system, and more to do with the players becoming invested in the game world.
“I’ve always felt that Bethesda’s style of games --typically first-person, with high-detail environments-- lends itself very well to this, simply because the environments are so believable so it’s much easier to get immersed and feel like you’re closer to the world and its characters,” Pagliarulo said.”
And another one:
In Fallout 3, Pagliarulo and his team tried to ensure the morality meter was neither fleeting nor predictable. For example, while players know that stealing from someone’s house when they’re not around will be registered as a morally bad action by the game’s Karma system, there are a lot of situations that are left morally grey on purpose. Pagliarulo says the reason for this is because he didn’t want players to feel like the developers were the ones deciding what was right and what was wrong.
“We wanted players to make their own determinations. It was a real challenge for us to try and balance all this stuff out and to provide players with gameplay that was completely morally grey in some instances while having a Karma system that tracked specific good and bad actions in other instances.””