1. Apex Developer Guide - Triggers and Order of Execution:
For C (Roll-up summary fields): "Executes roll-up summary fields. If the record contains a roll-up summary field or is part of a cross-object workflow
performs calculations and updates the roll-up summary field in the parent record. Parent record goes through save procedure." This explicitly states the parent record goes through the save procedure again
which includes firing its triggers.
For D (After-save record-triggered flow): "Executes record-triggered flows that are configured to run after the record is saved." These flows can perform DML
which will cause triggers to fire.
For A & B (Incorrect Options): The same document lists "Executes criteria-based sharing evaluation" and "Executes post-commit logic
such as sending email" as steps that occur after the primary trigger executions and do not initiate new DML within the core transaction.
Source: Salesforce
Apex Developer Guide
"Triggers and Order of Execution".
2. Salesforce Architects - Record-Triggered Automation Decision Guide:
For D (After-save record-triggered flow): This guide details that after-save flows are necessary "When you need to access the ID of the record that started the automation
or you need to update related records..." Updating related records is a DML operation that will fire triggers on those records.
Source: Salesforce Architects
Architect's Guide to Record-Triggered Automations
"When to Use an After-Save Flow".
3. Trailhead - Apex Triggers Module:
For C (Roll-up summary fields): The "Triggers and Order of Execution" unit explains that updates to a child in a master-detail relationship can cause the parent record to be updated due to a roll-up summary
which in turn fires the triggers on the parent object.
Source: Trailhead
Apex Triggers
"Triggers and Order of Execution" unit.