All the revocation checking mechanism have their pitfalls. It is a so complex issue. CRL has a very important benefit, namely it can be prefetched and can be updated regularly which is important in the case a firewall solution for instance. Read the following article for more details.
https://dev.to/coroner/why-do-certificate-revocation-checkin...