natural language processing tasks (e.g. message routing, textual information retrieval, translation) can be carried out quit well using statistical or pattern matching techniques that do not involve semantics. However, performance on some of these tasks improves if semantic processing is involved.
Some tasks, however, cannot be carried out at all without semantic processing of some form. One important example application is that of
database query. For example if a user asks an arbitrary question than the system needs to be able to deal with some simple semantic facts. In this case, every X has property P is equivalent to there is no X that does not have property P and a system that knows this also therefore know the answer to questions related to this.
Relational Databases do not store propositions of the form every X has property P and so a logical inference from the meaning of the sentence is required.