La respuesta es más amplia de lo que parece.
Todos los elementos tienen un estilo por defecto o, dicho de otra forma, los navegadores tienen predefinidos estilos para todos los elementos HTML. Esto conlleva a un problema, que de un navegador a otro esos estilos pueden tener sutiles diferencias. Para eso se utilizan hojas de estilo para normalizar y generalizar esos estilos para todos los navegadores, el más famoso y que ya practicamente sólo se utiliza en la actualidad es Normalize.css https://necolas.github.io/normalize.css/
Esto viene a que veo que estás utilizando el selector universal, no es muy recomendable para resetear los estilos predefinidos, hace que pierdas la herencia de todos los elementos y es posible que lo estés utilizando para resetear margin en todos los elementos.Es más recomendable utilizar el selector universal para otros contextos que no vienen al caso.
A su vez, <article> también tiene su estilo predefinido, prueba a aplicarle un "margin: 0;" y "padding: 0;"
Respecto a que el "margin" de la caja contenedora no aumenta al aplicare un margin a <p> puede deberse al flujo del documento o incluso si has aplicado alguna propiedad como "position" o "float", a veces aplicando "overflow: auto" puedes ver el cambio, pero hay que añadirlo sólo cuando se requiere.
También se tiene en cuenta la especifidad en la declaración CSS la cual no entraré a explicar.
Espero que tenga sentido lo que comento, no es fácil explicarlo por aquí.
Salu2.