No sé hasta qué nivel controlas cómo funciona HTTP, sea en IIS bajo Windows o cualquier otro servidor de otra plataforma. Voy a intentar ser conciso y claro.
Cuando tú habilitas un servidor web en el puerto estándar, lo que va a hacer IIS es quedarse a la escucha en el puerto 80 de todas las IPs de la máquina, aunque puedes restringirlo a una determinada de las posibles que tenga.
Ahora bien, supongamos que tenemos una serie de dominios de Internet con sus DNS correctamente configurados y con un registro A o un CNAME que hagan que "www.dominio.xxx" vaya a la IP determinada, donde está tu flamante IIS esperando conexiones.
¿Cómo sabe el servidor que tiene que mostrar una página u otra? Porque el cliente HTTP al otro extremo tendrá que hablar HTTP versión 1.1, y decirle que quiere una determinada página (como en HTTP 1.0) pero de una determinada máquina, mediante la cabecera "Host:" en la conexión.
En el IIS tendrás que programar servidores virtuales, de tal forma que si la petición de la cabecera "Host:" coincide con el valor que tengas en la configuración de tu IIS, pues asociará su sesión a la de ese dominio, le entregará páginas del directorio específico de ese dominio, las cookies para ese dominio, etc, etc.
Pero si un navegador realiza una conexión donde la URL lleva la dirección IP en vez de uno de los nombres de los servidores virtuales reconocidos en tu IIS, no funcionará el tema y mostrará la web por defecto, que puede ser otra diferente a la que quería.
Desde hace por lo menos 8 años todos los navegadores hablan HTTP 1.1 por defecto, no te preocupes.