- Steam has a very loyal customer base, who will not be happy if strong-armed into buying into any other ecosystem. Nobody uses Microsoft's storefront, either, remember.
- Individual indie games, no matter how good, are simply not big enough to act as system-sellers. Yes, having indie games on their platforms did wonders for Steam (and later for the PS4 and eventually Nintendo Switch; even Microsoft's XBox division belated came around to the need for them) but no one indie title or indie developer was responsible for that, and none of them are individually essential to any platform's success.
The fact that Fortnite players are likely not looking to Epic to satisfy their hunger for varied, non-Fortnite gaming experiences, something which Fortnite can't offer many of anyway, was a clear weakness that Epic needed to address, so it's no surprise that they were actively trying to lure other developers to their storefront, up to and including "poaching" them away from Steam after they'd already announced planned Steam launches. None of those early indie exclusives had moved over to Epic after already selling their product on Steam, but it really was the obvious next move.
Oh, and the move to Epic came with a $10 price drop, which wasn't immediately offered to customers who'd already bought the game on Steam.
And then there's the fact that the makers of Metro:Exodus are still advertising the game and its DLC on Steam, even though neither the game nor its DLC can be installed from Steam.
Screwed-over Steam consumers are, naturally enough, pissed, and threatening to boycott the game's launch entirely... which, in a world where The Pirate Bay exists, means that they're planning to play the game anyway, but just not pay for it, because fuck Epic and fuck the makers of Metro:Exodus for this egregiously anti-consumer bit of bullshit. All of which has the makers of Metro:Exodus threatening to boycott PC gaming entirely in the future... because that's going to help, isn't it?