extension of scalars
Extension of scalars is the operation of moving a module to a richer coefficient world — for example, allowing a real vector space to be multiplied by complex numbers. You keep the same generators but enlarge the supply of scalars you are permitted to scale by, and the tensor product is the precise machine that performs this enlargement consistently.
Let f: R -> S be a ring homomorphism, making S an R-algebra, and let M be an R-module. The extension of scalars of M along f is the S-module S ⊗_R M, where S acts on the left factor: s'·(s ⊗ m) = (s's) ⊗ m. This is the left adjoint to restriction of scalars (which views an S-module as an R-module via f), so Hom_S(S ⊗_R M, N) ≅ Hom_R(M, N) naturally — the universal property defining base change.
If M is free over R with basis {e_i}, then S ⊗_R M is free over S with the same basis {1 ⊗ e_i}, so a real n-dimensional space complexifies to a complex n-dimensional space. Honest caveats: extension of scalars is right exact but not exact in general (it can fail to preserve injections, since ⊗ is not left exact), it preserves the free/projective/flat properties, and it commutes with direct sums.
Complexification: with R = R and S = C, the R-module R^n becomes C ⊗_R R^n ≅ C^n, an n-dimensional complex vector space. Similarly Q ⊗_Z (Z/2Z) = 0, since rationals can divide the 2-torsion away — extension of scalars can destroy a module.
Complexifying enlarges scalars to C; tensoring torsion with Q can kill it.