There is at least one good reason to do so. Imagine that you're installing an update and notice that your battery is so low it won't finish before it dies. Surely sleeping is better than allowing a loss of power?
In the worst case, the update is rolled back, which wastes time, but it's better than risking file system corruption due to loss of power.
Even if you don't get corruption, data loss is likely. For instance, you may have been browsing HN when power goes out. Will your browser's crash recovery carefully restore the comment you've been typing for the last 17 minutes? Maybe yes, but is every program you're running so careful?
This is not a design fault, at least in my opinion.
Other devices (e.g. iOS) will warn you if you try to start an update with low battery power, so you can't make this mistake in the first place. Besides, the device itself can spot a low battery (and act on it to ensure the system stays consistent), so why does there need to be a user option to put the device to sleep during the upgrade?
My guess is that Microsoft didn't think about this at all, leading to the rubbish user experience.
1. How can the user know how much battery power is required to complete the update? If they don't know, they can't utilize the option effectively.
2. If the system knows, why not let the system manage the sleep behavior? iOS won't let you start an update if there isn't enough power to complete it.
3. Why would there be sudden loss of power leading to data loss? Surely the system can determine when the battery is at a low level, and a) Warn the user a few minutes before they need to stop working, and b) Provide the applications with an orderly shutdown sequence. Guess what? iOS does both of these.
This is certainly a design fault. Your scenario doesn't change that. It merely offers that this feature is needed in order to work around other design faults.
Windows offers a menu option to the user to sleep the device during the update. That is a design fault.