I've done a fair amount of server-side development in Java and Ruby. What I like most about Node.js is the feeling that you can be as close to the metal as you like. You don't have the endless boilerplate of every Java web framework, or the extensive "magic" of RoR. With Node and a framework like Express, you can understand things at the level of "let me look at this HTTP request and decide how to respond to it." This, to me, is beautiful:
app = require('express').createServer()
app.get '/', (req, res) ->
res.send 'hello world'
Sure, but roughly the same kind of thing is available in most other serverside languages. Python has Flask, Ruby has Sinatra, and PHP also has several mini-frameworks.