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.