Embedded Linux is the defacto standard. Look at all the routers, setop boxes, VOIP phones, mobile phones (billions of them!), PABXs, test equipment, etc, etc running Linux. However, getting yourself up to speed to deploy Linux in an embedded environment takes a serious amount of effort to learn. You can't become a brain surgeon overnight either.
LOL... sure... huge multinational enterprises with entire divisions setup to just keep linux under control manage to do it so it must be possible for anyone as long as they are a genius and completely perfect in every way and have nothing else important to do, and if they can't well they must just be lazy failures and terrible engineers. right.
Plenty of other OSes manage to just work... you set them up once, and you perform updates as software packages upgrade, and generally, things just keep running.
With linux, you set things up again and again, over and over. Often you need to update something and find out there's something else that needs changing to keep compatibility. This happens with my compiler VMs, and it happens with embedded linux installs. Yes with effort I can always sort it out, but what it is, is an unnecessary waste of time compared to how things could be if everything was just developed to work.
And it makes having a linux based product a continuing project. You can't just hand over a linux based product that's "finished" for all intents and purposes to operations, being manufactured and shipped and customer supported... If you have a linux based product out in the world you always need some resource who knows everything about the kernel build and all the modules, who can adjust/rebuild whenever a major problem is discovered, and fix anything whenever the updates break something. And we're not talking about the application code, but a standard basic platform that you just want to run the application on!
Linux gives so many features and possibilities, but at the same time it adds so much inertia to the products it enables. This is why we have a massive embedded linux botnet problem now.
Yes you can offload the responsibility to one of the embedded linux providers, and that will save a lot of time and work for a small team, but then you're limited to what kind of hardware they support, and dependent on them forever, and always hoping that any particular problem you have with whatever packages you particularly need to run on it is significant enough to make them want to fix it in a timely manner...