Dungeon design can be a tricky thing. There about as many ways to design a dungeon as there are Dungeon Masters to design them. Still, there are general goals and ideas a Dungeon Master has when creating a dungeon that help guide the design. One is between a single visit and multi-visit dungeon. It makes sense that a dungeon meant to be visited once would be different than a dungeon that is meant to be probed multiple times and explored over time. As a result, I hope to write a little bit about multi-visit dungeons.
Over the course of a game, it's not out of the realm of possibility that things won't go to plan. A group that is particularly lucky, clever, or both can go through dungeon meant to be explored over multiple visits. Likewise, a dungeon meant for a single visit can be surprisingly difficult to overcome and force a strategic retreat. This time I'll be focusing on the design step of the dungeon. However, similar considerations can be used to turn a dungeon originally meant to be explored in one go into a multi-visit dungeon. In this case, there's not too much that can be done outside of adding secret passages, and adding new residents as well as a purpose to return. Still, similar ideas can be applied. What we are doing in this case is building on top of an existing dungeon to form a multi-visit dungeon after the fact. This new dungeon can then be examined and treated in much the same way as a multi-visit dungeon. It just wasn't the intention from the start.
Types of Obstacles
Typically the obstacles in a dungeon are creatures or something else. The key difference here is that creatures can reorganize after taking casualties as well as call for backup. A 354 year old trap, however, often stays disabled until a character re-activates it. This isn't a cut and dry rule though. Some traps can be disabled for some amount of time after being overcome. Typically, however, once it's overcome it can be overcome in the same way again. This means that if players remember what the dungeon was like, it'll be easier to go further into it next time. From a design perspective it's probably better to think about it as obstacles that will change (creatures, maybe a particularly complex trap) and those that will remain the same (spike pit, dart trap, riddle door, etc.).
When dealing with creatures or other kinds of obstacles that reset, you want to avoid getting into a situation where your players are forever stuck at the same level of the dungeon. Even if it's not really infinitely, each foray into the dungeon should feel a bit different. It could be because different creatures moved in (I seem to recall this being quite common), or because the distribution of forces was changed in response to the previous attack. The most obvious way to do this is by letting your players get through the first part of the dungeon more easily. Above all, you don't want a copy past of the previous layout but with some of the inner group redistributed. This makes going through the same area a chore.
I tend to like to do estimates of how long it would take to go through the dungeon and how far they'd go through. These estimates are useful so I know roughly how long it'll take and to try to keep a dungeon from overstaying its welcome. However, it shouldn't be an actual outline of how things should go. I use it merely as an estimation tool.Things will probably go different than you expected but you should still know what you were hoping to achieve when designing a dungeon.
As they leave and return, some things could happen. In my notes I tend to call these things events. They can be a good way to mix things up between visits. New residents, or even the evidence of an adventurer group that got in way over their heads can help add some life and colour to an adventure (and guilt if they died due to traps the party reset before leaving). It tends to be a bit difficult for me to come up with these on the fly so I prefer to brainstorm a head of time. Then I can choose as few or as many as I want to use later.