I generally try to sandbox-like games. Probably not "pure" sandbox, but close.
What do I mean? Well, I generally don't assume my players will do "X", and I don't really care if they choose to defeat "Y".
From a general campaign structure standpoint I normally just set up my region (which tends to expand as the campaign progresses). Who's who? What are the main 2-4 factions? What are the high level conflicts and opportunities that will provide opportunities for my PCs?
I then come up with a quick-list of NPCs, generally a dozen or less. I don't need to name every butcher, baker or candle stick maker in the town. Just well known individuals that they will need to discuss or run into. In also keep a list of NPCs handy in case they do want to talk to the butcher, the baker or the candle stick maker.
The trick for me is to have a general outline while providing only the bare minimum of details that I need. As the game progresses I take notes.
For example the baker's name was Gary and he's really an assassin. Why? Because someone made a joke about how his baked goods were "to die for" and "wouldn't it be funny if he really did kill people that way"? Pay attention to what your players are chatting about, frequently they make some great suggestions.
At the end of most game sessions I then have a discussion about what they would like to do next. I'll dangle a few plot-hooks, or ask if there's something else they want to pursue so that I can prep for the next game.
If direction changes in the middle of the game (which happens) I may reskin enemies. They decided to go after the orc raiders last time, but then decide at the start of the next session to spy on Gary? Well it turns out that they discover Gary is an assassin, and his gang is mostly made up of half-orcs who use the same stats as the orcs I had planned for.
The orcish fortress? Morphed into the thieve's base of operations. Or I just wing it.
The pros to this approach
- I minimize "extra" work outside of the game. Most (not all) things get used, if not necessarily in the manner I expected.
- People have a greater sense of agency, like their actions matter.
- The players (often inadvertantly) help me create the world.
Cons
- I have to make things up on the fly on a pretty regular basis. Fortunately, practice makes perfect. Or at least better.
- Sometime ideas I think are really awesome never get used. I thought the goblins with purple hands would really catch their imagination, but it was not to be.
- I've been accused of railroading. OK, the player who said it was a little odd, but he thought I railroaded them because they never caught me off guard, because I rarely had to stop the flow of the game.