The language itself is very feature complete, however. Our main current goal has been for you to be able to grab your Matlab code and run it without modification in GNU Octave. For 99.9% of the lines of code in your code (assuming you don't use classdef), this works. The problem is that you might not always want to modify the remaining 0.1% lines of code to make them run in GNU Octave.
This is all in development and almost completely functional in the current Octave dev branch. I hope our next upcoming release will satisfy you more.
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?
We're currently working on a getting a JIT compiler into Octave too. Here are two GSoC blogs about it:
http://octave-jitc.blogspot.ca/
http://jit-octave.blogspot.ca/