Under what circumstances should a site be placed into maintenance mode I was recently ask to deploy a set of changes to a production server. The changes included Drupal core and contrib module updates, as well as, updated custom theme related code. 

In preparation for deployment, I placed the site into maintenance mode. Then took a database backup (using drush sql-dump).  I then pulled in the latest changes with git and updated the database (using drush updatedb). In this case there were several updates which were executed.  Finally I took the site out of maintenance mode.

The site owner was not so keen on the fact that the site was placed into maintenance mode for this procedure.  He mentioned that in general they don't use maintenance mode when updating a site. 

This got me wondering under what circumstances, when updating a site, should one use maintenance mode? Are there any situations when one could get away with updating a site without using maintenance mode?
In my experience working on some very high profile D7 installations, maintenance mode is always required during updates. The steps you took to perform your update are essentially the same as I've experienced. The reason for using maintenance mode is to essentially lock out users from making database changes that might corrupt the DB when update.php(drush updb) is run. I can't think of any good reason why you would do a production update without maintenance mode, unless you like playing Russian Roulette with a production DB. I also hope you're doing the updates during non-business hours or during a scheduled maintenance time.