Cabal project narrows the range of GHCs able to build Cabal-syntax, Cabal, cabal-install-solver, cabal-install, etc. to support 3 years worth of compilers, which currently spans back to GHC 9.4.
To avoid ambiguity: as of now it does not narrow the range of GHCs which Cabal-the-executable is able to drive, e. g., one is still able to use a new Cabal executable to compile their packages with GHC 8.X. It’s only that Cabal source code itself requires from Cabal developers to use a newer GHC.
The motivation is to be able to rely on newer versions of boot libraries, to maintain less shims for backward compatibility and to run fewer CI jobs (validating that backward compatibility), thus reducing barriers to contribute to Cabal.
For comparison, GHC source code is only buildable with the two latest GHC releases.