In what way is Matlab more feature-complete and polished? With respect to just the actual language Octave is nearly a 1:1 implementation of Matlab, which is an primary goal to stride for and maintain, any differences between the two is considered a bug even.
Octave has handle graphics and almost all of the handle graphics properties that Matlab has. Do help us record which particular bits of handle graphics you're missing. It helps us to have a list of what's missing.
Matlab is usually run as an ide with an interactive window (command line interpreter). Graphics are built in and interactive, you can interact with any number of graphics windows and with the command line at the same time (this is difficult to do in python numpy and matplotlib), and you can tweak the graphics windows from the command line to add GUI buttons, boxes, etc. This all comes built in to the most basic MATLAB commercial offering.
Matlab is much faster. For a sense of scale, a relatively simple image processing script ran 125 times faster in Matlab than Octave. This is, most likely, because Matlab has a better code optimizer.
I don't see a compelling reason to use Octave unless you're trying to avoid paying for a Matlab license. If you're going to switch tools, why not switch to NumPy/SciPy and get the advantage of using a full-featured programming language?
The "code optimiser" you're talking about is "just" a JIT compiler. Loops in Octave are slow. They were slow in Matlab too, but then they got a JIT compiler.
We're currently working on a getting a JIT compiler into Octave too. Here are two GSoC blogs about it: