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. divtambé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>.