The record selection formula selects the set of records for the report, and then the group select selects from among that set those records or groups that meet the group selection criteria. You can change the group criteria without the report refreshing (as long as the new criteria are already represented in the original record set), because the non-group selected records still exist in the report.
For calculations involving only the group-selected records, for most calculations you would need to use running totals, since the non-group selected records will still contribute to summaries like "count", "sum", etc. That means that you can use those summaries without needing a subreport, if you want to ignore the group selection criteria. If you wanted to do a percentage of a subtotal amount in a group meeting group selection criteria to the total records (including non-group selected), you could do a formula:
count({table.amount},{table.field}) % count({table.field})
But if you then wanted to total this for the group selected groups, you would need to create a manual running total.
If you wanted to do a count of all detail records meeting the group selection criteria, you would also need to use a running total.
-LB