Here's a completely non-SEO reason to make sure your canonicals are correct.
If they aren't when someone shares the page via email with iOS, it pulls the canonical. If the user isn't checking, then what gets shared is the canonical vs the actual page the user was on.
This can cause issues with all kinds of shares, especially search results or product variants.
I don't think it's just iOS, but it feels somewhat impossible to search for. I bet one of the best ways to hide something is to call it by a word used in SEO.