probably most technical official explanation is at https://letsencrypt.org/howitworks/technology/
as far as i know the letsencrypt client is developed on debian OS so it’s more tailored to debian/ubuntu
you can see some of the initial problems when the client doesn’t expect to find debian specific file paths/names Installer can’t find apache2ctl