I have never seen so much emphasis on the 'unstable' aspect of a software release. eg http://twitter.com/#!/search/nodejs%20unstable Though I know about the even/odd thing, it seems rather damaging to the platform to be announcing 'unstable' seemingly 'major' releases, don't you think? Why not Alpha? or Beta? or some other common convention? Ugh.
0.4 branch is and should be stable, meaning we can build on it and they'll try not to make big changes that could break what you built.
0.5 branch is unstable in the sense anything could change, even features added in 0.4 or older although they'll need compelling reasons to do that.