Error and Warning statuses give you some additional flexibility between Success and Failure as far as Alert configuration. They also allows you to set thresholds for results to later investigate, but don't need to fail the entire checkrun.
Here's a couple of practical examples:
- Let's say you have a check that normally runs in about 5 seconds and the fatal timeout threshold is 30 seconds. If 30 seconds is breached, the check fails and an alert is sent to the "senior engineering team". You could also then assign Error or Warning severities to a lower threshold, let's say 15 seconds, which can be set to first alert the "Tier-1 Support team" to start looking into the cause of the increased response times before the check actually starts Failing.
- Error and Warning can also be used to monitor third party URLs. In most cases we block those since they are outside the scope of the user's performance team. In some cases, users have Severity Mapped their third-party URLs to to an Error or Warning status so that they can monitor the performance or SLA's of those URLs, but without Failing the entire check in the event of any issues.