IBM offers Watson Natural Language Understanding, an NLP application supplying interpretation of unstructured textual data and language concept models.
IBM Watson Natural Language Understanding is a Swiss Army knife that can be used in many scenarios. An extensive list of easy to use APIs is provided making it very easy to integrate it in any environment. The text analysis is decent and above market average. It generates results in many forms to suit may scenarios (important keywords, concepts, sentiment analysis, etc.).
I would recommend it for use when anyone wants to quickly develop a neural network. Or if a user is solving any machine learning problem that includes deep learning. And this kind of problem will be like image recognition, face recognition, doing some text analysis using deep learning which includes LSTM or some other algorithm.
As Keras is the high level API, so using Keras, we don't have to be bothered by the low level TensorFlow complexity, and we can reduce a lot coding and testing efforts.