I shift through different ways to prepare sessions and NPCs on the regular. I'm not sure what it is, but for some reason my brain gets stuck and I find it harder to prepare my sessions and NPCs until I go looking into how other people do it, find a way I like, copy it, and then we go that way for a while. Sometimes I modify the approach with things I was doing previously. Sometimes I don't. I'm not sure why it keeps happening, but if nothing else it keeps me always looking for new ways to approach things and maybe that helps my games stay fresh since I'm prepared to go in different directions.
The most recent way I've found I believe I took from the Runesmith on youtube. Runesmith has some good videos on his approach to gaming, and while I've only watched a couple, I did like what I saw for one of his NPC write ups.
The approach goes like this: make the NPCs Weaknesses, Needs, Wants, Enemies, and Allies.
Weaknesses tell you about what the NPC will want to try to avoid, how they can be taken down, or the 'best' ways for them to be circumvented or overcome. It's also good to start with weaknesses - making it the most important step in some way - because it also means your NPCs will have weaknesses. A person without flaws isn't particularly interesting, so get some in there.
Needs is what the character actually needs. They may or may not know this about themselves. So a glory seeking young warrior might actually need validation in their skills to gain some confidence, or they may need to be taken down a peg or two before they can grow or become a 'better' person. The important thing here is it is insight into what can help the character grow or change.
Wants is what the character is after for themselves. Essentially their goals. You can go with the classic two short term and one longterm, or just give them some general things they want. It is very plausible that a merchant wants money. After all, they became a merchant for a reason and it probably wasn't to break even overall while helping their local community - though it could be. Wanting money doesn't also mean they won't help their local community, but how much they want something is up to you.
Enemies and Allies does not have to be as strong as it sounds. An enemy could be a rival. A shop keeper could have an enemy from another merchant who sells similar goods. A gardener's enemy could be the chipmunk that keeps destroying their favorite flowers. Allies, by the same token, are people on their side or who they can call on for help.
Between these five things you get a good idea of what you need to run the NPC. Weaknesses/Needs/Wants feed well into the personality the character could/should have, while Enemies/Allies can tell a lot about what is going on in their life and how they handle themselves. For now I like it, though I find it is better for the 'game' and 'story' parts, but less for the 'play.' After all, you still need to give a personality and how they'll react to things. Still, it is good things to incorporate into your planning.