From a fixed page to a flowing one
A PDF is built around a page of a fixed size; HTML is built around a viewport that can be any size. Converting between them is therefore a genuine translation, not a repackaging, and the thing that has to be discarded is exact position. Text that sat at a particular coordinate becomes a paragraph that reflows.
Paragraph boundaries are recovered from vertical spacing: a gap larger than a line reads as a new paragraph. It is a heuristic, and it is the part most likely to be wrong on a document with unusual leading or a multi-column layout.
What the output is good for
The result is deliberately plain — a stylesheet of a few lines, one section per page, and no embedded images or fonts. That makes it easy to paste into a CMS and restyle, and easy to read as a source of content. It is not an attempt to reproduce the PDF pixel for pixel, which would need absolutely positioned elements and would be worse at the one thing HTML is for.
Text taken out of the PDF is HTML-escaped before it is written, so markup that happened to appear inside the document is displayed rather than executed. For plain content with no markup at all, PDF to Text is simpler, and PDF to Markdown keeps heading structure in a form that is easy to edit.