Well I posted this 8 page disertation on NPC's only to have it not post. Bummer.
Anyhow, what I was saying was that I use NPC's a lot. Especially in games where the players are new to roleplaying or perhaps there are not enough players.
Now as far a details....I don't use many, at least not to start off with. I have a list in my NPC folder that has random names (pulled from baby name sites on the internet) and random occupations/classes. When I need an NPC, say the party meets a guy on the road, I pull out "Tamir, and Theif" So they meet this guy, I now know that he is from X country (dependent on the flavor of name I pulled) and somewhat how he is probably dressed. Then I may grab a memory. What I mean is that I assign a freind or someone I may have known in the past to the NPC. In this case lets say "David C." So I jot down "Tamir, Theif, David C." David was a friend of mine in high school, so now I have a personality to go with Tamir. This way, although they may not do more than speak to Tamir on the road, I just happen to know that they are traveling in the same direction and I decide that they will likely meet in the next city. I keep the note on personality (David C.) so I don't make Tamir talk like a pirate on the road and when they meet him in the city he is a crazy codger, unless of course I decide to make Tamir psycho, changing his personality will just confuse the players.
I usually don't assign stats to an NPC right off the bat, I wait until the NPC develops a bit. That way if I need him to be strong he can be strong, if I want him intellgent then so be it. Same with skills. Tamir's personality of David would actually be better suited to being a mage or sage as that is just his personality. And although Tamir is a thief, that does not mean that he is not intelligent and perhaps studied (whether in reality or as a con who knows), but all these details start to get fleshed out as the NPC intereacts with the players characters. This way I am not confined by some preconceived NPC template that does not work later.