Because the money for it is stuck in weird places. I can't write some small bit of software and just sell that for a decent price. People don't pay for software these days, so my best hope is to give it away for free and then running ads. And then, if it's any good, someone will come by and make an open source clone and give that away for free, tanking sales/ad revenue. So the money in writing software is by working at a huge company that has found money with software, like Google and selling ads.
This is really the most concise (and depressing) explanation of the situation I've seen.
When I was a kid, I dreamt of being a solo programmer that had a few successful desktop programs. Think mIRC, WinAmp, WinRar. Despite the audience for that being >100x larger than it was in the 90s, I'd bet the number of solo shops doing that successfully isn't a whole lot larger than it was then.
Why does software suck these days.