When developing a package, you may want to use its downstream packages for testing and documentation.
However, its downstream packages may not officially support the development version because the development version has not yet been released. This means that you may not be able to install them, even though they are potentially compatible.
Special handling seems to be done for the test project of a package under development, but no other projects can deviate from the constraints of [compat].
Consider a specific example.
Colors.jl
v0.13.0-dev
ImageCore.jl
v0.10.2
with [compat] Colors = "0.12"
WebP.jl
v0.1.2
with [compat] ImageCore = "0.10"
Julia’s excellent package management system prevents accidental use of WebP.jl incompatible with the development version of Colors.jl.