What exact purpose have transitional packages?

Solution 1:

They simplify the transition if a package gets renamed:

Let's say we have a package called mypackage in the current release. Now for some reasons this packages gets renamed mynewpackage in the next release. As the package manager doesn't know anything about renaming packages it will treat mypackage and mynewpackage as different packages so that on upgrade users who have mypackage not get mynewpackage installed but stay with the old mypackage (if the dependencies allow that).

To avoid this the package maintainer simply creates a transitional package mypackage in the new release that doesn't have any files but just a depends on mynewpackage (this kind of package is called a "meta package").