<b> ist längst kein Thema mehr, das gehört in den Style.
Seit HTML5 hat das b-Element im Gegensatz zu HTML4 eine semantische Bedeutung. Das Thema ist also brandaktuell.
HTML4: "The BR element forcibly breaks (ends) the current line of text."
HTML5: "The b element represents a span of text to which attention is being drawn for utilitarian purposes without conveying any extra importance and with no implication of an alternate voice or mood, such as key words in a document abstract, product names in a review, actionable words in interactive text-driven software, or an article lede."
Ich muss allerdings einräumen, dass ich das Element selber meide. Die Formulierung ist meiner Meinung nach zu grobmaschig und wirkt auf mich wie der Versuch ein Element nur aus Kompatibilitäts-Gründen am Leben zu halten. Dennoch, wenn ein Author meint einen zweckmäßigen Nutzen zu gefunden zu haben, sollte er das Element auch nutzen.
<br> würde ich auf die selbe (oder vielleicht auch nur fast die selbe) Stufe stellen wie <p> denn ob ich einen neuen Absatz oder eine neue Zeile erstelle, kommt auf das selbe raus.
Eben nicht. Ein Gedicht hat zum Beispiel Strophen und Verse. Jeden Vers in einen eigenen Text-Absatz zu packen wäre imho. ziemlicher Overkill.
Ich wüsst auch nicht wie man das sinnvoll mit CSS umsetzen könnte. Absätze mit und ohne Abstand oben?
Da liegt dein Denkfehler. Absätze != Zeilenumbrüche.