I design dungeons in idle time, and sometimes I even run them. I also run lots of dungeons other people have designed. In both scenarios, there are times when I encounter a thing in the design of the dungeon that makes it suddenly complex to run. I tend to be mindful, now, of this when I create my own dungeons, but it's a lesson I've had to learn the hard way.
These are some observations of things to do when designing a dungeon to make it easy to run.
When you run a dungeon, you have to load the dungeon into memory. Sure, it's possible to discover a dungeon along with your players, but it takes a lot of speed-reading while players sit around waiting for you to catch up, or else frantic reading while players are distracted in their own conversations. That's no fun, so it's best to read the dungeon in advance at least once.
The problem with loading a whole dungeon into memory is that you must possess available memory. I have a pretty poor memory, and some dungeons can get pretty big.
I guess that's the first cautionary note: Keep dungeons small.
If your dungeon isn't destined to be small, then create regions within your dungeon. This way, you can load just a region or 2 into your memory before the gaming session. You can segment your big dungeon into small sections by placing blockades between them. Maybe it's a big iron gate, or a wall of fire, or a monster, or a puzzle room, or anything to cause players to stop the usual open-kill-loot game loop.
To be clear, I'm not saying all dungeons need to be linear, only that's nice to built in some bottlenecks for yourself. There may be 50 rooms in the dungeon, but you've only had to read up on 10 of them, because you know your players are likely to only get through 5 or 6 rooms today. And if they do get through all 10 rooms, they're going to encounter a puzzle or a mini boss, or whatever, that they'll have to figure out how to get past before they can get into the next region. Then for the next game session, you can read up on the next 10 rooms and feel pretty comfortable that you'll know what's coming next.
Everybody loves a secret passage. I love them. They're mysterious and evocative, and they turn what seems like a linear dungeon crawl into a funhouse maze. However, they can also destroy a game master's ability to prepare for what player characters might do next.
If you've diligently read all the rooms within a 10 room radius of the player characters, and then one of them cleverly finds a secret passage going to a completely different floor, with 50 more rooms in it, then you have no hope of ever keeping up.
To prevent this from happening, design your secret passages so that they travel only within the same dungeon region, or so that they all travel to only a few select destinations.
I primarily try to avoid secret passages that go to a whole new region that could require me to suddenly read another 10 rooms. Players might say they want to find a secret passage to the end of the dungeon, and just bypass all the fun, but they don't really. If you want to do that, then that's your ONE secret passage that goes to someplace entirely new, and you can prepare for the possibility of that happening and just have that in your back pocket.
The point is, limit yourself. Know where your secret passages go, and don't get carried away with them.
Nothing annoys me more than notes I've scribbled on a dungeon map that poorly describes a trap or a puzzle. Sometimes I describe the results of the setup without describing the setup. Other times I describe the setup with no indication of how it fits together, or what happens as a result. Here's what I've settled on:
It seems obvious seeing it in a numbered list, and I guess it is. And yet in the moment of design, it's easy to get it wrong. I still see dungeons published today that fail to do it. Heck, Tomb of Horrors isn't exactly great at it, and it's one of the most famous dungeons and has been revised and re-published several times over the past half century.
Obviously spells like Etherealness or Pass Wall can foil the most well-intentioned game master plans. Then again, as a game master you have ways of dealing with those. Or you might sideline your players so you don't have to jump too far ahead during that session.
None of the ideas in this post are absolute imperatives or strict rules. They're things to keep in mind while designing a dungeon, and they're meant to pay dividends when you return to that scribbled-on graph paper from a year ago, with no memory of what you had in mind at the time, or when someone else tries to grapple with your dungeon. They're intentionally pragmatic tricks that make it easy for you to glance at just the parts of a dungeon you think you'll need for the next game session, and ignore the rest, and still be confident that you have everything you need. Keep them in mind, and I think you'll thank yourself later.