You might get the impression from published adventures that your DM prep should be similar to what you get in a pre-packaged product. After all, the people who write fancy adventure modules are professional designers, so they know how it's done right? Time to get cracking on those detailed maps, big statblocks, scripted events, and keyed encounter locations, right?
It turns out that published adventures are seldom good examples of the best practices for organic-feeling games as they develop at the table. Unless a published adventure is an absolute railroad, there will likely come a point where the players do something the writers of an adventure just haven't accounted for. The same thing will happen to your carefully-written and fully fleshed-out homebrew adventures. If divergence is nearly inevitable, why fight it?
Prep less, but prep smarter.
One thing I've found extremely helpful is to prep a list of NPCs that the player characters might interact with at some point. If the action ever flags, it gives me a ready-to-go idea of who I can throw at them, who has schemes that might embroil them, and who might seek their aid to get something done.
I keep the list simple; three columns, maximum: name, a short physical description, and a motive. The last one is key. Give each NPC on your list a strong motivation: something they desire above all else, something concrete to base their actions around, something that will color how they interact with the player characters.
I advise you to give each NPC one central motive. It's fine, and maybe even preferable, if your NPCs aren't nuanced and holistically-crafted avatars of verisimilitude; a focused, immediately usable NPC is so much more valuable than a complex, "realistic" one.
As for physical descriptions, just jot down two or three small-but-memorable things; you don't need a paragraph of description or a compendious backstory. And make sure you give each NPC a name because making up a name in the middle of the game can suck.
But what about stats? I don't worry about it until the stats become important. I find that stats are usually secondary, but if you feel you need them ahead of time--stat away.