Hallo,
Manchmal kann eine Trennlinie durchaus sinnvoll[1] sein. Es gibt ja nicht umsonst bald ein <seperator>-Element.
[1] Was machst du z.B., wenn sich die Linie immer unter einem normalen und einem floatenden Element befindet und das floatende mal höher wird?
Dann vergebe ich border-bottom für das Elternelement der beiden zuzüglich overflow:auto.
Ja, das wäre auch eine Möglichkeit. Aber dann hätte man wieder ein unnötiges <div>.
<hr> kann man schön mit clear formatieren und besser als <div> ist es allemal.
Eine horizontale Linie ist nicht wirklich mit einem gruppierenden Element vergleichbar.
Es sind beides Blöcke, die bei entspr. CSS-Formatierung gleich aussehen können. Das mit der Gruppierung ist natürlich auch möglich, aber ich vermeide derlei Schachtelungen lieber, wenn es auch anders geht.
mfg. Daniel