Things like JS Statemachine are fundamentally different than Statecharts. They are really a superset of FSM. If you are doing a sproutcore-based application, the native Statecharts are good (a little verbose imho). If you are using another framework or rolling your own javascript, Stativus is really the only full featured statechart framework out there. Stativus can be used in any javascript framework: Backbone.js, ember.js, SproutCore, batman.js, ExtJS, Sencha etc...
With FSM, you don't get:
- Parallel States
- Nested Substates
- History States
- Statechart Event Propagation
Its really like trying to drag race a Yugo with a Ferrari. They both can get you places and have four wheels, but one has so much more power that it isn't even a competition.
caveat: I helped write the original statechart implementation for SproutCore and I wrote Stativus...