One of the most basic reasons Google or any search engine won't index and rank a web page is because you won't allow them to.
Either the spiders cannot access the site due to technical issues or you are explicitly instructing them to not enter your site with a noindex tag.
I've written about this before, Don't Overlook The Obvious: NoIndex Tag - but it often is overlooked.
Heck, I see it all the time in the forums. I've been called by large fortune 500 companies with SEO issues. I've seen more than once, they have a noindex tag on their home page causing the issue. Sometimes they are hard to spot due to redirects, so use a http header checker tool to verify before the redirects.
But don't overlook the obvious, check that first.
John Mueller of Google spotted a complaint in the Google Webmaster Help forums and after a day of back and forth between the site owner and people in the forum, John came in and said - it is more obvious than that.
It looks like a lot of your pages had a noindex robots meta tag on them for a while and dropped out because of that. In the meantime, that meta tag is gone, so if you can keep it out, you should be good to go :).
Of course, Google knows that because they have those details but if you hide those details from SEOs and remove the meta tag before they see the issue - then what.
Forum discussion at Google Webmaster Help.