What is an artificial neural network and for what types of problems can it be used?

What is an artificial neural network and for what types of problems can it be used?