There can be some reasons. Assume you have a site/blog hosted by a service provider like Wordpress, Medium, Github.io, Blogger, Tumblr or some other local provider. It can be expected at least some of them don't support SSL certificates for custom domains.
It's easy for people like us to set it up. I've set up Letsencrypt many, many times.
Now, imagine you are Joe Blow hosting his blog on some small web host that barely supports Wordpress. Logging into CPanel is confusing to you. How do you deploy SSL?