Rules and line breaks

I would love an actual explanation of how Inform 7’s line breaks work, because so far to me it seems like they get peppered in at random.