Octave is close enough to Matlab to have inherited most of its flaws, yet not close enough to be a complete drop-in replacement. Julia, while obviously inspired by Matlab, is not attempting any sort of comparability, and thus can fix flaws and be a better language.
Octave, in my opinion, should be relegated to (trying to) run legacy Matlab code, while Julia or Numpy should be the first choice for any new code.