I have heard countless reasons on why not to use HTML frames, from their lack of accessibility, the general lacking in UX, their being completely inefficient/unmaintainable, or
You can use an iframe to give access to ads from third parties in your website without giving them any additional control or messaging to the parent document that contains the iframe.
That way you give access to ads in your site but at the same time protect from attacks from unknown resources
The mozilla dev pages explains it better:
The HTML element represents a nested browsing context, effectively embedding another HTML page into the current page.