Same code on both server and client side doesn't really work
The packages aren't that good
I love npm. That is probably the thing that i love the most about Node.js.Npm makes it extremely easy to install third party packages that you can use from/with the app you are building. But its not all rainbows and cookies with npm, what I found is almost half of the packages I find are either abandoned by their maintainers or are not well documented (heck, the biggest websocket library socket.io has a horrible documentation) or are coded poorly. There are some really good packages that are frequently updated and maintained, but having to search through packages to find the right thing gets frustrating.