You usually assign a main dataset to a subreport, and the subreports are printed in order. But you can change this behaviour by assigning Child Subreport property to a section, usually you assign this property to a detail section, so the child subreport will be processed after printing the detail section.
Think about a customers report, the main subreport can contain a detail with the company name:
And another subreport will print the orders for that customers
You must link the orders dataset to the customers dataset so when a customer is printed, the orders dataset is updated and the child subreport is processed with the new data.
Child subreports are useful to link and print many to many datasets. See you can calculate subtotals for each subreport or child subreport.
See also linked querys