Well maybe they should have an option. It is certainly possible.
The mechanics of storing quests, items and locations and their progress, has been much the same since the old "type Go North" adventure games.
I've written a few (not as pretty as skyrim though lol)
Also on the PC you can fix broken quests, locations yourself via a console command.
If this is a port of a PC game, then that functionality is probably still there behind the scenes.
From the Oblivion wiki 'SetStage' command description:
Notes:
It is not possible to undo this command. So, for example, if you type SetStage MQ03 20 by mistake (instead of MQ02), there is no way to reverse that command and make the game think that you have not started MQ03. In particular, SetStage MQ03 0 will have no effect. Overall, it is not possible to decrease a quest's stage. So even entering SetStage MQ03 10 would not change the quest stage (e.g., GetStage MQ03 would still return 20, not 10).
Internally, the game has flags that keep track of the status of each individual quest stage. So the command SetStage MQ03 20 does not set a "stage" variable to 20; it actually sets the "stagedone" variable for MQ03 stage 20 to true (or 1). The command GetStage MQ03 just figures out which is the highest numbered stage that has been flagged as done, and returns that number. There is no known way to directly alter the "stagedone" variables, which is why it is impossible to undo a setstage command.
Some game scripts are based upon the the overall quest stage (i.e., the value returned by GetStage); other scripts are based upon whether or not specific stages have been done (i.e., the value returned by GetStageDone). Therefore, skipping ahead in a quest, for example by entering SetStage MQ03 100 can have unpredictable effects, because the individual stages of the quest are not marked as complete. Also, there are invariably many other scripts that are supposed to get executed as a quest progresses; skipping ahead in a quest will not cause any of the other scripts to be run. It may subsequently be impossible to ever reproduce the missing events using the console. Therefore indiscriminate use of this command can lead to permanently bugged games.
So, if a quest stage has been prematurely triggered (as is the case for many of the broken quests), the console can not be used to 'un-trigger' it. So it's not that simple.
Edit: Given, this is from the Oblivion wiki, but I think it's pretty likely that this aspect of the game hasn't changed much.