For example, if your app is just getting data from a database and returning it to the user, 90% of your time will be spent:
* Receiving the user's request (Network, IO)
* Fetching something from the DB (Network, IO)
* Returning the data (Network, IO)
That's a good scenario for an event based system like Node.js.
Try not to use node.js if you're CPU-bound: rendering images or PDF, processing sound, etc. If you do need to do something like that and you still want to use node.js you should use a processing queue.