The features that are being shipped in Firefox are ones that are stable in the draft spec and not expected to change. At the point of spec stability, these features need to be actually tested in broader distribution to help find any potential compatibility corner cases, similar to the issues found with Array.prototype.values [1].
[1] http://www.esdiscuss.org/topic/array-prototype-values-breaks...
In practice vendors implement small chunks of emerging ideas, with flags to prevent the ideas reaching the stable versions being a relatively novel addition to the process made possible by rapid release schedules. The ideas become stable, ready or not, when enough people are using them that it's no longer possible to remove or amend the implementation without breaking sites and thereby annoying your user base.
I hear that the TC39 group that controls ECMAScript are planning to adjust to this reality by incrementally standardising features in the future so, perhaps, instead of "ES7" we will see specs for "ES foo", where "foo" is a specific feature. Ironically this is closer to the way that some non-web languages like Python (ignoring the 2/3 divide) work, with a series of enhancements that are adopted as they are ready, even though Python actually does have clear and meaningful versions.
Should Mozilla have been more conservative in shipping features that are actually written up in a spec on their fledgling OS? Probably, playing strictly by the rules is generally a good thing. Is this comparable to a different vendor working to ship an enormous feature which didn't even have a spec, and which the person at the centre of the controversy asked other people to help write because they had been so busy? No, not at all.
Size, influence, and power always make a difference. I have a hard time understanding how you wouldn't see this.
What's the lesson? Two wrongs make a right?
ES6 has cross-vendor support and a draft specification [1], which are not true of PNaCl or Dart. No browser vendor has stated opposition to ES6 that I'm aware of; everyone's committed to implementing it.
What's good for the goose is good for the gander.
You're trying to create controversy where there is none. Nobody on TC39 objects to SpiderMonkey implementing specific features with broad consensus before all of ES6 has been finalized.