Maintenance mode is a pain, but a recognized way to announce maintenance on a site. However it is in serious need of a few things:
1. It should only disable the main pages, not the pages that allow you to 'Maintain' the product, Dashboard etc.
2. Show a maintenance page that follows your theme.
3. The dashboard and it's pages should probably be served through an alternative port like 8080.
These things may be considered too complex for the likes of the user, but believe me the things we have to go through to make our systems work with WordPress, turns us into experts in our own fields pretty quickly.