I see Canonical as a slightly worse Red Hat - they both do their own thing for the sake of it being theirs (NIH syndrome to the max), Canonical just occasionally use a proprietary component as an upsell (compared to Red Hat that rely only on an Enterprise sticker as a differentiator). But fundamentally, what exactly is the difference? Both force their newly decided stuff on everyone and all associated distros - be it systemd, podman, dnf, regardless if it's ready or not (podman is still not feature compete with docker, and has regular breaking changes making it hard to for associated tooling to keep up, but it is forced down everyone's throats regardless).