Reason being you need to kick it off using javascript which on the face of it sounds okay - but if you accidentally deploy a version with a javascript error, and that chunk of your update code doesn’t get the opportunity to run, or the error is actually within that code - you have bricked your application for good.
Using background or auto runs outside of javascript - so even if you upload the worst version you will always be able to rollback / update to a working version.