It doesn't stop HTTPS connections, but if I type in randomdomain.com in my browser and hit return, that sends an HTTP request by default. If someone is intercepting my connection, they can modify what's being returned by the webserver, and even if the server itself only serves via HTTPS, the man-in-the-middle program can simply terminate HTTPS and then serve a modified version of the now-unencrypted contents via HTTP.

The only way to get guaranteed security is if your browser will only ever make HTTPS connections to a given domain name, and that requires HSTS preloading.