It comes down to one simple reason: I’ve never (literally never) had a project where mobile came first.
I’ve never had a designer give me a mobile layout before a desktop layout.
I’ve never had a client mention mobile anything in a first meeting (I always bring it up though).
I’ve never had a project manager or producer who wanted to talk mobile in the early stages of a project.
In the real world, at least the world of small business websites, non-profit websites, and blogs, mobile-first doesn’t exist, except as a mere technique in the developer’s workflow.
Mobile-first proponents complain that mobile development is often an afterthought, tacked onto a project. I think, in part, they are right. Its the best kind of afterthought. A mobile theme is always a value-added item, that the client expects to pay for, and is generally happy to do so. If there is a designer, I usually get the mobile layout after the desktop is all done. The reason this is not a problem is that I’ve already given the site a well structured (probably floated) layout. Its not that hard to reduce it to a single column with a few media queries. If the site is coded well from the beginning, adding mobile styles at the end is simple.
So, maybe mobile-first is just a matter of CSS coding technique, simply a way to structure a stylesheet. I have heard that a mobile-first stylesheet is simpler, with less duplication of code. If that were true, I think it would be a good reason to use a mobile-first stylesheet. I just don’t see it. I like to try to assemble the desktop theme as efficiently as possible (I hate duplication of code), and then reduce it to a tablet theme, and then a mobile theme. I don’t think this requires more (or less) code than building it the other way around.