Because Matlab is expensive. Very expensive. Especially if you want to run it on servers or clusters, which is something people want to do. We're talking a single company paying millions of dollars per year for Matlab licenses, versus paying thousands for Octave (this does happen, and some companies do pay for Octave, but very few). My last job consisted in fixing Octave enough to be able to run some classifiers in servers, which would have been prohibitively expensive in Matlab and it would have also been much too expensive to rewrite in a different language. It was cheaper to pay me to fix Octave just enough for this code to run.
As to the "inferior" part, it really depends. Some people really like the Octave-exclusive features, but most are unaware they even exist.
It's a bit of a problem to innovate too much with Octave, because Matlab may decide to implement a feature we did first, but they'll do it slightly differently, forcing us to redo our work to match theirs.
You're crazy if you're spending millions on matlab licenses. Just buy a copy of the matlab "compiler" mcc (not much of a compiler - more of packaging system after compilation to byte code, as I understand it). It's quite expensive, but you only need one license for your whole cluster.
I was unclear, sorry. The companies that I know that are paying millions are more concerned about copies of Matlab that they can give to their engineers (actual engineers that work on hardware, not Silicon Valley "engineers" that work on ads), of which they need hundreds to thousands, and they keep running out of copies to give to their employees.
As to the "inferior" part, it really depends. Some people really like the Octave-exclusive features, but most are unaware they even exist.