What does kubelet use to determine the status of the container inside a pod?

The K8S documentation states that kubelet uses optional probes on the container which include, liveness, readiness and startUp probes. But it also states that these probes are optional and hence kubelet need not necessarily provide an implementation for these probes.

How else does “kubelet” know if the containerized application is up and running or not and if it needs a restart?

I had created an issue on github for the same (https://github.com/kubernetes/website/issues/21968#issuecomment-647212840) and I got a response that kubelet makes use of underlying container runtime for determining the state of the containerized application thereby making the container probes optional.
Can we discuss/confirm this?