How many layers should a neural network have? Are there any advantages of having more than 2 hidden layers in a Neural Network?

I've seen some places that recommend it, others prove that there is no advantage.

Which one is right?
One very good resource is the Neural Network FAQ. The question depends a lot on your problem. If the problem is linear in nature, there is no reason to have any hidden layers. If the problem is non-linear, often a single hidden layer with around 10 hidden neurons will do the trick.

There is a very similar question (with a very similar answer) at CrossValidated: How to choose the number of hidden layers and nodes in a feedforward neural network?)