There are multiple health check types that can be used. Most of them are mentioned in the link you provided.
Some of the more popular ones include checking database connection or if an endpoint is available.
As for a real life situation:
I add my services to kubernetes. In case you don't know what kubernetes is think of it as guy that is keeping track of my service. Now in kubernetes you can specify the endpoints of your health checks so kubernetes can gather information to what the state of your application is. kubernetes can be configured to do specific operations in relations to the status of your healthchecks.
For example kubernities asks for general healthcheck of your service. Lets say database connection and another service you communicate through endpoint. At some interval it gets a degraded(cant do what i need it to do) status because nothing is working. At that point I can precondition kubernities to shut down the service or restart it.
Now if you scale up the service to multiple services that communicate with each other and multiple databases. Then you can see how with kubernetes and healthchecks you can keep a good monitoring outlook of the entire system.
As you can imagine the complexity of some of the health checks scales up also.
This is a real life situation that takes place today with healthchecks on micro service systems. Really helpful.
I hope this helps you :D