LiveCycle Designer ES distinguishes boilerplate or static objects, such as text, lines, and images, from objects that contain variable content, such as text fields and image fields.
A subform is a type of object that contains content. Subforms are often grouped based on the structure of the data that is bound to each subform. The ability to bind repeating, optional, and conditional data groups to subforms reduces the risk of design errors that may occur if you use scripts to achieve the same results.
For example, you can create a subform that includes objects for repeating data groups. When rendering the form, LiveCycle Forms ES creates as many instances of the subform as necessary to represent all the data groups.
Repeating and nested subforms require additional processing to render the form. Avoid using them unless they offer better performance than alternative options. For example, a repeating subform may eliminate the need for a number of repeating objects.
Allowing page breaks in subforms causes additional processing, even if LiveCycle Forms ES does not apply page breaks. For example, the location, size, or content of a subform may prevent a page break. To optimize performance, turn off page breaks in subforms. By default, page breaks are allowed.
In addition, subforms are useful for grouping and organizing objects without binding the subform to a data element. To prevent LiveCycle Forms ES from searching for a data element for the subform when merging data, change the subform’s data binding type from the default value of Normal to None.
See also 

Optimizing performance for subforms