Tanto quanto eu sei, isso está certo:
<div>
<p>some words</p>
</div>
Mas isso está errado:
<p>
<div>some words</div>
</p>
O primeiro pode passar no validador W3C (XHTML 1.0), mas o segundo não. Eu sei que ninguém escreverá código como o segundo. Eu só quero saber o porquê.
E o relacionamento de contenção de outras tags?
p
é um elemento no nível do bloco não tem nada a ver com isso. div
também é um e permite outros blocos.
<p>
é um elemento no nível do bloco e é (supostamente) usado para exibir texto, ele não permitirá outros elementos no nível do bloco, mas apenas elementos inline como<span>
e<strong>
.