Someone on a development team could come up with an idea like: “Let’s do these 2 features in a single epic! They both are cool and about similar topic.”. Being inspired, they convince everyone to do things that way. And everything goes quite well until the release date. Sprint or waterfall - doesn’t matter. There suddenly it’s been becoming revealed that the wunder-epic is ready by 99%. Nothing is going to be released as a result. Users are bored. Management scolds.
The saddest part of this story is that the 1-st feature is 100% ready. It could be released with no effort if the brilliant mind hadn’t suggested to mix the things up. Now it requires additional effort to cherry-pick the related commits to another branch at least. So being united the 98%-ready 2-nd feature becomes a pseudo-blocker for the 1-st feature release.
To avoid this resist the temptation to put similar things to the same cauldron. Make your scopes granular and bite-sized. This keeps them more manageable and easier to clarify.
Be the bless with you against the artificial dependencies!