Cucumber.js is the official port of Cucumber. It is supported by the Cucumber community and aims at being as compatible as possible with its brothers (Cucumber-ruby, Cucumber-jvm). It's strongly tested through the same gherkin feature suite as Cucumber-ruby and Cucumber-jvm.
Cucumber.js is supported in both Node.js and browser environments. It uses the official Gherkin parser, just like Cucumber-ruby.
I'm not really familiar with Cucumis but the only advantage of it over Cucumber.js is that it supports parallel scenario execution. We are considering such a feature on Cucumber.js but it needs some more thinking as it has implications end-users must fully understand.
The gherkin NPM package is not usable as is, it's only supplying the gherkin parser.
The Cucumber.js's README displays a development status table that can help you decide wether it's ready for your needs or not.
If you need support with Cucumber.js, shout in #cucumber on Freenode, ping us on Twitter or write to the Cukes list.
If you're interested, Cucumber.js will be presented during the CukeUp! conference in London on April 4th.