Programmatically there is only one way of using the GPIO pins, that is writing and reading to a piece of memory in the processor. But because it's a unix type OS we're using mostly, and unix maps everything to files, the kernel driver that is loaded to use the GPIO pins maps pins to these files that you're talking about. But internally this driver does the exact same thing, use this piece of memory to get the required result. This is called memory mapped I/O.
So the RPi.GPIO code you're talking about uses the memory direct, the node.js uses the kernel driver (and thus is a little slower), based on the file you're writing to (or reading from) the kernel driver 'knows' what address to write to / read from in memory. Because this node.js application is unaware of 'how' to use the GPIO pins itself, it is better portable then the RPi.GPIO code (but that is a little background and for the current status of the RPi totally irrelevant)