Printing is a translation. The app describes a page, the driver converts that description into instructions the printer understands, and the printer renders it. Each stage can change the result.
That is why a document prints correctly from a PDF reader but loses its margins from a browser: the two apps make different assumptions about page size, scaling and background graphics.
Scaling causes most complaints. A page set to fit-to-page shrinks slightly each time, while a page set to actual size may clip at the edges because printers cannot print to the very border.
When quality rather than layout differs, the driver's quality preset is usually to blame — apps often override it with their own draft or economy setting.