To me, the ideal is as little as is necessary. If there's an NPC, they have a name, face, personality and motivation, maybe a generic stat block. If there's a foreign nation, then it has a name and a two line description at MOST. And if there's something I find a need that I don't have, I stall for time until I can fill the gap in properly.
But then, that's just the ideal. I also go a bit nuts with it if left unattended too long.