Early on, when I still had my Game Master training wheels on, I spent hours working on Non-Player Characters for my games. I had yet to learn the essential lesson that a GM loving his NPCs too much is a recipe for frustration and for showing the players up. That was a lesson that still needed to be learned at the gaming table, painfully.
No, I detailed my NPCs beautifully. I could tell you their history, their family history, what they liked for lunch, their religious quirks--I really went all in on them. I wanted to add to the richness of our campaign setting by portraying these deep and involved characters, from the princess of the realm to the guard sergeant.
Of course, you can guess what I found out--my players, in most cases, didn't care that Sergeant Morris was from the northern hinterlands, or that he loved plums, or the fact that he was secretly infatuated with the butcher's daughter. They might latch on to a few things, but all this nuance, all this character depth I planned--it went nowhere.
I'm pretty slow at times, and it took me a while to hit upon the fact that depth of character is not the best way to have fun NPCs in your games. In many cases 90% of your prep work is forgotten, or will not come up.
What I have found, over years of gaming, is that most players will, at most, latch on to 1 or 2 personality traits to define a character they run across. If you try to portray too much at once, it becomes overwhelming and confusing, especially if you have a large active cast in your campaign. So, my advice for Game Masters when it comes to NPCs is to look for the One Thing. One Thing to set a character apart, and make them memorable. It can be something as minor as a character who blinks a disturbing amount, or a merchant who has a peg leg, or perhaps a town guard that clearly likes his hip flask. If a NPC is a minor character, not especially reoccurring or important, highlighting just one trait per NPC can still give a feel of depth without running the GM ragged.
Look at it this way: if you're discussing someone at work, and trying to describe them to someone who doesn't really know them, how do you jog their memory? Which of the following scenarios sounds more likely?
Scenario A: I'm pretty sure you've met Joe before. Loves the violin, Sagittarius, red-haired guy with glasses, severe allergy issues, Ball State University fan, works in Accounts Payable, always secretly pining for that cute girl in Collections?
Scenario B: "I'm pretty sure you've met Joe before. Red-haired guy with glasses, works in Accounts Payable?"
We tend to latch on to perhaps one or two basic identifiers for casual acquaintances. The same behaviors follow in-game. It's an NPC, not a police sketch and profile. You're trying to portray characters at a table where there's probably a lot of activity, thinking, and different objectives. Small brushstrokes are sometimes lost in an environment, while large ones are more easily picked up on.
Of course, if NPCs do develop into deeper characters, then you can start to throw in other details. But I think a lot of GMs frustrate themselves by trying to portray this entire, deep personality for an NPC, when to the players, so much of that will not be noticed, or will not be needed. That's where just going for that One Thing can really help a Game Master reign that in, while still giving some definition to each NPC.