Neither failure announces itself. Both look completely fine in a browser — which is exactly why they survive for months.
Maintenance mode on a site that never launched
The most common one, because plugins default to it. You publish a launch page, it answers 503, and Google reads that as “this address is broken, come back later”. It will not index the page, the emails you could have collected from search never arrive, and the launch page you spent an afternoon on is invisible for its entire life — which, by definition, is short.
The tell: The page has been up for weeks and Search Console shows no impressions at all, not low ones. Zero is a status-code problem, not a content problem.
Coming soon mode on a site that is temporarily down
The mirror image, and the more expensive of the two. Your indexed pages answer 200 with the splash screen behind them. Google crawls, finds the same short page at every URL, and updates its index accordingly — your product pages become one identical holding page. When you come back, the rankings do not come back with you.
The tell: After a maintenance window, several unrelated URLs suddenly show the same title in Search Console results.
A 503 that never says when to return
Half-right, and easy to leave in place. The status is correct but there is no Retry-After header, so the crawler has no idea whether to come back in an hour or next week. It backs off on its own schedule, which is usually slower than yours, and the recovery after the outage takes longer than the outage did.
The tell: Crawl rate stays low for days after the site is back up.