Prepping NPCs is often useful, but I also like to leave room for impromptu creations. Some of the most memorable NPCs in my campaigns have been off-the-cuff. In a recent game, for example, one of the PCs wanted to find a jeweler in a frontier town. It seemed unlikely, but I let him make a roll to see if one was around. He rolled the best possible critical success (using GURPS, so 1 in 216 chance). The PC was from a noble family on the edge of the frontier, so we decided that the NPC jeweler had been the apprentice of a well-known jeweler in the PC's hometown. This created a connection, but it also created a bit of mystery: did he leave because he was in search of new opportunities, or was there something else going on? I pulled a name from my list of potential NPC names and he became a person. Ended up being a recurring NPC for a series of games over the course of which I figured out more of his backstory. Some of these moments of spontaneous, collaborative creation are wonderfully fun and fruitful.