The only real answer to this question is "it depends". I'll do my best to outline what it depends on, and which platform is suited to which cases. But first, a couple of clarifications.
Node.js describes itself as "a platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications" [1]. JavaScript is also the programming language used by web browsers to make pages interactive, so if you want client side interactivity you'll need to learn JavaScript - if you don't know Python, it may be worth just learning one language.
I'd suggest the key thing you should base your decision on is what you're using it for. If you want to host something on the Pi and access it on a web page, I'd suggest you use Node.js. It has better performance, a nicer way of managing packages with npm
and several battle-tested web frameworks such as express.
However - if you're accessing the internet as a client - perhaps scraping web pages, sending tweets or up/downloading files, Python is probably better. This is a gut feeling, and purely my opinion, but Python feels nicer for such a use case and has a large number of libraries such as urllib2
or requests
(the latter of which is available through pip
, a python package manager).
Python also has the advantage of being pre-installed, as you mentioned, and is the programming language the Raspberry Pi is designed for use with. It also has exceptional support for GPIO interaction, so if you're planning on exposing control of GPIO pins (such as a web page which lets you control an LED), I'd recommend you go with Python.
There are several Python web frameworks available, some of the more well known ones are Flask, web2py and Django, amongst others.
Again, this is largely opinion, though I've used both Python and JavaScript (with and without Node.js) extensively.