Change Data Capture vs trigger for logging changes
Given the choice between those two things, here's why I'd choose triggers:


Triggers can make related table changes synchronously (like if you need to update reporting tables or check referential integrity)
Triggers let you store the data in the format that works for you, whereas CDC puts it in its own CDC schema, in tables that may not work for your reports
Triggers can have logic that checks the kind of update or the source of the update, and only log things you want to log
Triggers can easily be temporarily disabled for things like bulk loads, or if the business is facing huge load demands (like Black Friday sales)
Triggers let you put more business logic in, like if you want to put some kinds of history in one table and other kinds of history in another
Triggers don't directly add storage overhead (whereas CDC adds at least 34 bytes per row)