A distinção entre elementos de bloco e inline sempre me pareceu estranha. Toda a diferença é que um elemento de bloco ocupa toda a largura, forçando uma quebra de linha antes e depois do elemento, e um elemento embutido ocupa apenas tanto quanto o conteúdo. Por que não apenas ter um tipo de elemento - um elemento embutido no qual você também pode aplicar altura / largura personalizadas e usá-lo? Você quer quebras de linha? Insira um <br />
, ou talvez adicione uma tag especial no CSS para esse comportamento. Do jeito que está agora, não o vejo resolvendo nenhum problema e, em vez disso, apenas força uma propriedade que, na minha opinião, deve ser decidida por um designer.
Então, por que os dois tipos?
<br/>
uma<p>
tag para separar a última linha do primeiro parágrafo. Talvez você deva começar a observar grandes diferenças na intenção visual e não nas diferenças na implementação.