When we have a service, we usually work with a lot of different payload structures in the service workflow: incoming requests, calls to a backend, error messages, responses of the backend, and so on. We need to ensure that every one of these messages have the correct format, because our service will get an error otherwise; so, part of the job when we develop a service is to check those messages.
If we don't check those messages, we'll get an unhandled exception, and the final client will be waiting for the response of the service until we get a timeout without any type of response for our service. Also, the service won't be processed (or at least, not completely) so this is not a good solution.
If we check those messages, we can leave the normal processing when the messages are good; however, in other cases, we can perform an action...