Porque la etiqueta style simula un documento css cuando la hacemos asi:
<style>
p{
text-align: center;
}
</style>
Ya que está pensada para colocarse en el head del documento.
Pero si le damos las propiedades directamente dentro de una etiqueta, osea asi:
<p style = "text-align: center;">
Lo que hacemos es que le damos un atributo más a la etiqueta "p" osea, que no estamos editando un css, sino que, estamos editanto sus valores por defecto o agregandoles más valores a la etiqueta. por ejemplo colocarle una clase o un id:
<p class="referencias"> o <p id="referencias">
Por eso generalmente se concidera mala practica editar los estilos dentro del mismo HTML porque ya existe un formato de archivo para hacer este tipo de cambios que son los .css