There are a number of advantages to using a neural network model, most notably that the network is adaptable to a wide range of parameters and data requirements, as well as the fact they are easy to use, requiring minimal statistics training. Furthermore, neural networks have the ability to learn (in a limited sense), making them the closest model available to a human operator.
Neural networks are advanced enough to detect any complex relationships between inputs and outputs as well, which is another advantage when using this model.
Of course, neural networks are not without their disadvantages. Due to the complicated and advanced nature of the model, they are very difficult to design, for example.
While the adaptability and sensitivity of a neural network is most certainly an advantage, it does also come with problems. Given that a neural network will react to even the smallest change in data, it can often be very hard to model analytically as a result.
Running a neural network also requires a huge amount of computing resources, making it expensive, and possibly impractical, for some companies and applications.
Furthermore, while neural networks are excellent and crunching large amounts of data, this advantage lessens relative to the size of a data sample. Small samples for example, will not be used effectively as the network operates best with large samples.