I used to stat everything to the last detail in early days, but I learned that it never pays the effort.
If the NPC/creature is going to be fought by the PCs, I usually stat them out almost completely, at least in the physical department. That is, I may not bother with skills except if they're gonna use Tumble or Bluff or Concentration or similar, and I do their equipment and spells approximately. I am more precise with feats (because they're few), but that means often to "waste" a couple of them in non-combat feats when I don't want to plan all of them.
In any case, I don't roll or use point-buy, I just give them whatever numbers I feel appropriate.
For these characters however I don't think much about personality, history, motivations, hobbies...
If the NPC is going to interact in a different way (talking/trading/etc.) I don't even bother about the numbers, EXCEPT for those few things which they are supposed to do during the interaction. For example, the ostler of the tavern won't be statted out but may just have a name and a Knowledge(Local) +4 under the name
If the players do something unexpected, such as Detect Law on the ostler, or start a fight with him, I wind up something on the fly. The important thing is to let the players believe that yeah, of course I had the ostler ready-planned from the start!