I was always under the impression that canonical meant, precisely, that no arbitrary choices were necessary. But, that it was occasionally used less formally, in a more standard-English sort of way to mean traditional/obvious/well known. The informal meaning is usually used as a cheap way to avoid explaining something that's easier for the reader to guess anyway.
Ex 1: Two vector spaces of the same dimension are isomorphic. The isomorphism is not canonical.
Ex 2: A finite dimensional vector space is canonically isomorphic to its double dual.
Ex 3: Let $\pi: S^3 \to S^2$ be the canonical fibration.
I never really liked it when people use canonical as in example 3. It seems like using it this flexibly detracts from the useful technical interpretation of the word.
I've also heard some more complicated category theoretic interpretations of what canonical meant. But, after more scrutiny, it seems that these "definitions" are specific cases of the "no arbitrary choices" principle.