Avoid configurations on your website that allow for URLs to canonicalise. Most CMS's are easy to configure so you don't need to canonicalise. Common scenarios for canonicalising include parameter/filtering, pagination, and poor eCom configuration.
Child canonicals are a problem. They can cause cannibalisation and bleed link equity away from important pages. Google may not always obey a canonical instruction and may choose a canonical child over a parent.
The principle of a canonical is to tell Google whether one document relates to another to prevent duplicate content issue. Canonicals were created as an alternative solution for website owners to stop similar pages due to CMS limitations.
Avoid allowing canonical child URLs to stack up. Control how your website works. For instance, the out of the box canonical configuration in Shopify is not optimal. If a child canonicalises to a parent where the content is different, it is effectively wrong.
Minimise canonicalisation where you can for a healthier index.