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
If for some reason you have "nested form".
Say you have a product edit form and inside this form you have an area with another form that let's say allows you to enter a list of the customers to send a newsletter for this product.
Customers are not related to the product at all and has no database relation to a product. They are compliantly separate entities from product.
In this case I crate an IFrame with a customer adding form and submit button that submits the form inside IFrame.
I didn't find any better way to implement the described scenario than using IFrame. And yes, I have a requirement to have both forms on the same page, and newsletter form should be placed inside product editing form. Business need dictated by bosses.