Hi Nick,
I am not an expert on CP2K, but this question is more general than CP2K implementation.
When you have a set of primitives, you can use each of them by itself, then you have one constant for each primitive to apply the variational principle, and they are independent between them (obviously they have the orthonormal restriction for the solutions).
If you contract some primitives, you have the "same" number of primitives in the set, but your variational constant are less, this is, when you contract some primitives, you constrain the constant of these primitives to be in a given proportion, and this primitive mix have only one variational constant, making more simple the "diagonalization" or solution for these basis set, but with a lower variational convergence.
In simple, if you have 3 primitives for a particular orbital, you can mix them with the constants a1,a2,a3 in any proportion, but if you constrain the second and the third, you only have now 2 constants for the variation, this is, a1 and a23.
Regards