I think the simplified answer is that software scales really well. So in theory, if I pay one developer really well I can then sell whatever that developer produces a lot of times for virtually no extra cost (and no shipping/logistics). Embedded devices/hardware etc. don't scale nearly that well.
I realize this is a widespread explanation, but it doesn't completely make sense that software is a magic money faucet. The reason is that there's still only so much money that can be spent on software, and at some point the customers run out. I'm not saying it's a zero sum game, but it's not an infinite sum game. Somewhere in between.
The greatest software driven economy in the world grows at an average rate of roughly 2% per year. All of this software, and we're living barely above subsistence. What it suggests to me is that for every company that has turned a software program into a magic money faucet, there are as many if not more who will spend money on software and not make a dime. There will also be as many companies that bury themselves in software costs and wreck themselves.
Software is clearly empowering us. I use Python instead of doing calculations by hand. But it's also draining us. Talk to virtually any office worker, even programmers, and they will complain about the software that they have to deal with, basically stealing their attention and productivity.
Where are the customers' yachts?
A better answer is that the money has to be coming from somewhere other than merely customers, and I think the answer is: Investors.
What hardware doesn't have is investors going gaa-gaa to spend their money on anything that looks like a hardware project.