Yeah, it’s weird, Basecamp usually knows their stuff, but something went wrong here. It’s apparent in the project’s issue section.
Not providing semantic markup can pose accessibility problems in some situations. For example, when listening on a web page, skim reading by skipping paragraphs might be impossible when paragraphs are not marked up properly.
Also, a new paragraph is a clue to pause longer when reading a text out loud. Synthetic voices might not get that clue when
<br> is used instead of
I’m sure, though, that there’s a good reason behind the decision. There are always compromises. Semantics and accessibility were not prioritized in this case.