Try downloading the NPC Generator found here:
http://www.met.rdg.ac.uk/~sws99dsc/rpg/npcgen/
It gives no stats, but appearance and, rather handily, politics and motiviation. It is easy to modify to your own setting.
Realistic NPCs boil down to three primary things for me:
1) Me knowing what their goals are.
2) Me not coming out and telling the players what these goals are.
3) The players seeing the results of NPCs working toward these goals even when off stage.
1) Me knowing what their goals are.
If you know what an NPC is trying to achieve, it is easier to discern how they will act now (and for this to make sense-feel real- to the PCs once they figure it out).
My NPCs tend to always act in a way that advances them to their goal (self-interest). This is modified by their politics, motivation, my need for them in the campaign and the results of PC influence (diplomacy and such).
Goals can be simple things from "wants a rich husband for his daughter" or "wants to rule the world."
However, some NPC should have more complex goals: "wants to move his slaves through a route in the mountains, but cannot due to haunted castle along route, will seek to befriend PCs and get them to clear Castle without telling them real reason." Then a session or two later the PC will learn of a new slave route through the mountains, I've yet to see the players fail to go after someone who has used them.
(Total off topic note: We had a whole major side plot develop from a player leaving the game. I had his PC abandon the party, then show up again, as an NPC, working for the other team. His motivation, as originally written by the player, was to regain control of his tribe. I had him act in self-interest, he was not advancing this goal with the party, and ally with the PCs opposition by telling the bad guys about the cave, which was important to the bad guy's goals, to get the bad guy's help in realizing his goal. The players had a blast hunting him down and "liberating' his tribe.)
2) Me not coming out and telling the players what these goals are.
As in real life, my NPCs very rarely come out and say what they want. The fun for the players is trying to figure that out based on NPC behavior and other tidbits of info I'll throw out at random intervals.
3) The players seeing the results of NPCs working toward these goals even when off stage.
By knowing what they want, I can advance NPC plotlines off-stage if the PCs choose to ignore them. That results in bits of news the PCs can hear that makes things feel real. The world is moving forward around them. Just be sure to factor in what impact PC actions have on NPC plotlines, players like to see their actions influencing the world.
News arrives: Demaratos, who wants to secure his city's trade, is invading the land of the Agha Singh. The players knew of Demaratos' goal, but ignored it to explore the Valley of Colored Knots. Now the hear Demaratos is advancing an army and building strongpoints. If they go intervene, things change based on their actions. If not, they will later hear that Demaratos has seized the Agha Singh's most valuable iron mine and so forth. The world moves forward, it feels more real. This should be happening large scale (wars as above) and small scale (cousin Equila got married).
It is not hard, usually a few minutes thought pre-game as to what news can reach the PCs.
As for loose ends, you can run your game like the real world where not everything has a neat and tidy ending. I generally have a main plot and then throw a bunch of others out there and see what the players bite on. This results in alot of NPCs with unresolved plotlines. Equally, it give me something to throw in if the main plotline grows stale or I feel the need to change things to spice up a dry session.
Tormenet