Advantages:
- Often unbeatable in terms of accuracy (by the Universal Approximation Theorem, under general conditions, there is guaranteed to exist some network that can approximate any continuous function).
- Well-suited to unstructured data problems (text, image classification, computer vision) that is not the case for many other classes of machine learning algorithms
Disadvantages:
- More prone to overfitting that most other statistical or machine learning approaches
- Many hyperparameters to tune
- Black box interpretation (almost impossible to understand what is happening in hidden layers within deep networks)
- May require massive amounts of data to be able to sufficiently learn a dataset