The world can be linear or open. The environment can be hand-crafted or procedural. But more important is the requirements of the story structure. Is the story scripted or systemic? Most games use a mix of all of the above. But the needs of the story will usually result in limits of the available verbs in specific places. Verbs are the actions in the game, like walk, run, jump, hit, climb, open, use. The needs of the story will keep the player from going in the wrong direction or doing the wrong thing by disabling verbs. You will see that you often aren't allowed to hurt friendly characters, or you may not be able to open a door before you do what's expected in a certain room.
A systemic game has locations with properties that interact with each other and the actions of the player using rules that apply everywhere in the game. That allows the player to find solutions to puzzles, quest objectives or scenarios that the game designer did not consider. The much more common variant is the scripted game where places in the world are marked up and rules for what happens depend on quest progression.
Invisible walls
Games like Horizon, Tomb Raider and Uncharted are infuriatingly bad in this respect. It becomes a game about guessing where the creator wants you to go. Some classic adventure games do it better with the avatar just stating that they don’t want to go that way or do that specific thing. Detroit Become Human will show a visible barrier in the world stating that the place or action is not available since it’s not in line with your current objective.
The design team will usually develop a consistent style for indicating where you can and can’t go. In some games, wines indicate unclimbable walls, while in other games they indicate the opposite. And I really don’t like it. Lara Craft will jump and climb all over the place but can’t for her life find it in her to climb over a piece of rubble on the street. Aloy will push through narrow cracks in deep underwater caverns, but stands dumbfounded in front of a relic ruin with gaps between the beams in the wall, far wider.
The very first scene in Horizon Forbidden West has a whole bunch of these walls. There are thickets, rubble and walls she should be able to pass. The invisible wall breaks the immersion and puts a damper on the sense of exploration. Even worse; you see the way forward, but can’t go where. The jump button has been disabled. And if you are like me and turn off all the screen UI for maximal immersion, you will easily miss that the game wants you to both collect and use the healing herbs before you continue. Neither Aloy or Varl says anything at the ledge. The jump/climb button doesn’t work. I was about to reload the game because this seemed like a bug. – But this is just one of thousands of similar examples. You are supposed to be able to read game developers' minds.
There are games with less invisible walls. The first generation of Tomb Raider was excellent. The block based design made everything perfectly consistent. There was a complete mapping between all your moves and everything in the environment. Other examples are Dying Light and Death Stranding that use systems to determine where you can run and climb, rather than manually placed borders and tags.
Level design
Adventure puzzles are usually scripted in a way where the game designer accounted for all the allowed solutions. A systemic puzzle may instead be characterized as a problem that can be solved in several different ways, using the interactions of tools on the environment and objects.
Just disabling verbs in order to limit the choices for solving a puzzle is lazy design. I would prefer to use the knowledge of the game to figure out what I can do. I don't like the manually marked climbing and grappling points in Horizon Forbidden West or God of War. Each tool should have a defined and logical interaction with every other object in the game. See NetHack.
Games will often impose limitations in where you can go as a way to optimize for fun. By limiting the players options, they will have to handle the situation in new ways. I will always try to find a safe way to survive combat, often climbing up to an advantage and peeking out from as far away as I can. But doing the same thing every time might get boring after a while. I hate to get locked in a room with nowhere to run or hide. It feels okay if it happens naturally as part of the story, but I hate it if I see a way to do it better, but the game stops me for no good in-world reason.
A non-lazy level design will naturally vary viable tactics. Don’t have things that look climbable if it’s part of the puzzle to find another way up. Don’t provide a clear view of the enemy from a hidden vantage point if the intent is to have a variety of encounters. Many games do this well for combat encounters, but not so well for puzzle rooms.
A game will usually introduce a game mechanic in the form of a tool or skill and follow that up with a series of situations where the newly introduced mechanic can be used. It’s a common problem that the player may have gotten used to and prefer another tool and try to brute force progression. A non-systemic game can force the player to use the intended mechanic to proceed. A systemic game will have to find other ways to make sure that the player actually learns the intended mechanic. One such way would be an actual in-world guided training scenario with some sort of judge commenting on your result.
A systemic game should provide variety that invites use of different tools and tactics without strictly enforcing those. Let's say you have explosives that would break open a door, but the current puzzle is set up for you to find and use a key. You may start with a hint that the key can be found. The way to the door may go through water, making the explosive unusable. The explosive may also cause sound attracting unwanted attention. And it could also cause the wall to fall down or nearby lanterns to explode or start a fire burning up the things you wanted from behind the door. These are results you often don’t see in authored games, since that would be too many permutations to handle.
The game should continuously evaluate if the player is stuck in a place, or generally seems frustrated. A systemic world will allow avatars to get themselves in places they can’t get themselves out of. It should always help the avatar to climb or move out of narrow spaces, back to a previous position. The game should always check that the player can solve the current situation. For example, if the avatar is stuck between the door and a recently collapsed hallway, and doesn't have any of the known ways to get through the door or get back out, the game should introduce something appropriate for the situation. It could be that someone opens the door from the other side, or the rubble shifted to provide a way to squeeze through back out, or someone eventually comes to the rescue.
You can also encourage the player to use different approaches by altering the rewards, through the connected systems. Some tools may destroy things that would be valuable to collect using other more specific techniques. It may be an optional reward connected to speed or skill. Varying the situations should be enough to promote variation in approach without limiting what you actually can do. A rich system of interaction would allow the player to find their own way.
This might be not possible in practice.
For example, for a game of blocks on a regular grid, your proposals of checking a blocked path from a collapsed passage can work.
But for a modern 3D game, where the collapse causes heavy rigid bodies getting stuck in a narrow passage, it can become notoriously difficult to check if the player could manage a way through or not.
In general i would assume it's impossible to avoid players getting stuck, nor could we detect if they are stuck. With a systemic game those issues become worse. No matter how much potential options we give, in some cases the player will run out of options.
Terminating the game and going back to the last checkpoint might be the only robust solution.