The number before the :
is the epoch. This overrides the version for ordering purposes, e.g. 3:3.1 is considered newer than 2:3.2. It’s used when a packager needs to downgrade a package in the repos for one of various reasons.
The number (value, really) after the -
is the release. It differentiates between different releases of a package that have the same version. It’s used for e.g. security patches to an existing version of the software.