What's going wrong that requires a reset when updating firmware?

When I try to update firmware such as when I switch an Xbee from AT to API I am often getting the pop-up asking me to do a reset. Why does this happen.

The module is not able to enter command mode or bootloader mode for any one of a number of reasons. The reset allows for a backdoor option to be used which is sometimes needed.