WordPress creates a .maintenance file when it starts an update. If the process stops before completion, the file remains and WordPress shows a maintenance message to visitors. The file stays because the script was unable to delete it, often due to permission issues, resource limits, or a conflicting plugin.
The presence of the file forces WordPress to return a 503 status code for all requests. Until the file is removed or the underlying issue is resolved, the site remains inaccessible to visitors.