Microsoft sells it's compilers in the form of Visual Studio. Intel sells a variety of C++ and Fortran compilers. There's GCC, there's LLVM/Clang.
They all compete against each other in a variety of ways, thus there is a market, albeit one in which the currency is to extents eyeballs as opposed to money. (in the sense that if you're in an area where a for-money compiler is required, the cost of it is likely not an issue - so it comes down to which compiler do your devs want to be using)
In my opinion, a world with lots of free games is worse than a world with a few expensive games. I see at being almost analogous to mass-production vs artisan craftsmanship. I'd rather enjoy the fruit of a craftsman's labour than I would gorge myself on the cheap, cheerful and unpolished wares of the assembly line.
That's the wrong way 'round, from my perspective. The "few, expensive" games we have are bland blockbuster genre-stuffers created by committee. The "lots of free games" we're heading toward are tiny, polished artifacts of a single indie developer's labor, where the value in them comes from laser-focus on a single innovative gameplay mechanic, rather than a multi-million-dollar art pipeline. The latter sound much more like the "artisans" to me.
This probably is a good thing, it is possible to get started now with no expenditure beyond the hardware whereas when I started I was limited by what I could afford.
Similarly, games are pirated a lot; but is a world with lots of free-to-play games really worse than a world in which the games are (as now) largely too expensive (per hour) for the target audience?
There will always be money to be made in writing custom in-house software, but lots of software is becoming cheaper/free. This is mostly a good thing.