the main issue arises for us because we don't want continuous deployment for features that are in progress, but we want those in progress features to be able to be broken down into smaller chunks that are reviewable while also being kept up to date with the current release;
we develop blockchain smart contracts that are versioned, you can think of them as pieces of hardware that once a version is deployed, it is permanent/forever, so there are consequences with merging into main, from which our contracts are deployed/versioned.
so we want to be able to continuously work on a longer feature of a smart contract which is eventually to be released, but have this composed from multiple small diffs which can easily be reviewed and merged, while also being able to rebase/update it from the main branch.
cc @Iain Nash if you want to can think of some more context here