If you, or the system, initiates a reboot/shutdown, and all apps that you have running are such apps, the reboot will just happen, with no further confirmation.
If, however, any app that you have running does not assert that it can be perfectly restored after reboot, then the OS will pause the reboot process and prompt the user to confirm that they want to shut down said app. If the user says no, the reboot is aborted. If the user does nothing (or isn't there to respond), the computer just stays stuck on that prompt forever.
I don't see anything wrong with such a "conservative" auto-detection system, personally.
Microsoft would have to actually implement it that way, though.
Problem is, apps can lie.
Not many apps take advantage of that, however.
All in all, not too shabby.
It's not like it hits you without warning. You also have the ability to manually reboot whenever you like(!) and prevent surprises that way.
Because if I leave something running over night, and Windows reboots without asking me because it thinks it can resume the task, and Windows is wrong, then I have to wait until the next evening.
I would have no problem with any of this stuff if Microsoft gave the user control. They don't, and the steps they've taken so far don't go nearly far enough.