Vs: image: the codomain is the set that the function might reach.
The image is the exact set that it actually reaches.
E.g. the function:
Note that the definition of the codomain is somewhat arbitrary, e.g. could as well technically have codomain: .
The exact image is in general therefore harder to characterize.