Canonicalization is when Google tries to combine any URLs together as one when it thinks there might be duplicate URLs. How Google does that can depend on a lot of different signals. John Mueller of Google listed some of the signals Google uses for canonicalization.
John posted on Twitter the following list of signals Google uses for canonicalization:
Redirects
Internal
External links
Sitemaps
hreflang
Canonicals tags
cleaner URLs or shorter URLs
and more…
Here is John’s tweet:
Anything missing?
Forum discussion at Twitter.