RPG engines typically build maps out of "tiles", individual squares that can be terrain, floors, walls, clutter etc. These tiles are pulled from "tile sheets", large image files with a bunch of tiles laid out in a grid. In RPGMaker MV, you also define a number of properties for each tile in programming: how "high" the tile is (below player, same as, above). If the tile is set to "same as", you get a "collision" when attempting to walk through it: the engine won't let you. Thus, things like floors are usually set to "below", and things like walls and tables to "same as". This becomes complicated in MV however, because you can layer several tiles on top of each other, and the last to be laid down dictates the "height". This can break things:
1. You define a wall tile, and set it to "same as"
2. You define a semi-transparent crack tile, and set it to "beneath", because you want to use it on the floor and have the player walk over it.
3. Later, you forget about this and put the crack on a wall. Now, the player can walk over/through the wall, because the crack's height properties override the wall's.
This is just one example. The point is there are a lot of sneaky edge cases in MV where something like this can happen. I've become much better at anticipating and correcting them, but like I said, this was my first attempt at an MV game.