It's fine on PC because there's actually competition, while that simply will never be the case on consoles because of the way it inherently is. It's a closed market. There aren't 10 different digital storefronts that are all trying to undercut each other, there's only 3 digital store fronts that aren't trying to undercut each other.
You don't get to just use the word "competition" as though the mere presence of multiple stores makes it so. PC digital download storefronts
don't undercut each other, by and large. Valve doesn't set prices on games. Valve never gives up its 30% cut. Valve also lets developers and publishers print an infinite number of keys for free and resell them anywhere at any cost with no cut to Valve. The stores that
do give up some of their 30% cut do so because they're just reselling Steam keys, and the amount of the money the publisher is making is still comparable. The biggest innovation in pricing in the last few years have been indie bundles, which again exist because of Steam key resale possiiblities.
Imagine we're talking about Batman: Arkham Dancefest 2016. And it's on Amazon and it's on Steam and it's on 80 other DD services. Why would there be price competition between the services? WB sets the price on each. If WB wants the game to be $10, it can make the game $10. If WB sets the price to $10 on Amazon, they have full power to do so on Steam as well. Valve isn't going to ask them. Valve doesn't care. Valve has pre-planned sales events and they sent out a mass email to all publishers saying "well if you want to put your shit on sale set some prices using our tools if not good riddance". They're not pushing price curves lower. And they wouldn't give up their 30% cut for anything. So WB puts the game on for $10 on every service. Now it's possible that GamersGate, since they have no costs associated with selling a Steam key, is willing to help knock the game down to $8 by giving up some of their 30%. But there's no change on the publisher side of things, and ultimately what you get is a Steam key which you redeem on Steam and play on Steam.
And we're talking about peanuts. We're not talking about the structural pricing differences between retail and digital on consoles, right, we're talking about 10-20% around the margins as a few-month head-start compared with Valve's pricing. Like, I am not convinced any digital retailer ever actually has "better" sales, the question is where does a game first hit a particular pricepoint, we're really talking about a few weeks. It's always stuff like "oh, Amazon had this Sega pack on for $8 like a month and a half before Valve had a similar pack on for a similar amount!" That's not really competition, it's just differing timing on sale events.
Pricing strategies are based on the publishers knowing that PC is primarily about the long-tail, and what they lose in up-front sales they make up for with a longer sales curve helped by aggressive price stratification. Each sale you drop the price further and soak up more of the demand at that price level. I don't think WB is going to drop their game prices faster because of competition between storefronts, I think they're going to drop their game prices faster because they look at the data, they see what best suits their goals, and they decide to do it.
And then there's Origin; where 99.999% of stuff that's sold is not on Steam. Why would there be price competition between two entirely disjoint systems? If I want to buy Battlefield 4, that's on Origin. It's not on Steam. Origin and Steam aren't competing against each other to sell be Battlefield 4.
If you want to argue that competition is leading to better featuresets, then that makes sense. But it doesn't seem to be, to me. Most of the PC DD storefronts have no particular featuresets, and what features they do have (like GMG's digital trade-ins) are totally underused and have not been copied by anyone. Meanwhile, when new features are added to, say, Steam, they seem not in any way connected to the kind of features competitors have. No one has anything like trading cards, or like an inventory trade system in general, no one is doing meta-games for their sales, no one was supporting OSX or Linux or allowing cross-buy for OSX and Linux when Valve added it, no one else had anything like Family Sharing, no other services have service-wide F2P functionality (which Valve added). I'm not mentioning this to praise Valve or say they're doing a good job. I'm just mentioning it to point out that they don't seem to be reacting to external competition from other DD stores.
You know what I do think has driven competition for Valve? Early Access stuff. They missed out on Minecraft and as more new games adopted that model, they worried they were missing out. So they introduced Early Access. So the one thing that I feel like actually was competition didn't come from a rival service, but rather a rival idea.
Impulse, which had a client, now doesn't. GMG, which has a client, doesn't use it. I believe GameFly has basically been phasing theirs out. Desura is basically abandoned. All the new competitors like Amazon, Humble, ShinyLoot, and the different bundle services don't use clients at all. Seems to me like from the client side, there's actually less competition now than ever. Origin and Battle.net are the only two healthy clients, and neither of them have any content overlap with Steam.
The reason console DD sucks compared to retail is not lack of competition between storefronts, it's unlimited inventory size. If you're retail, rotten stock sucks and you want to move it. You pay upfront to buy stuff and you want to sell it quickly. You have limited space, you don't want stuff that won't sell, and since your business model is built around used games and the same game being traded in many times, you want churn. So there are two actors who can drop the price: the publisher, through MSRP drops and price protection; and the retailer, who can take a loss just to liquidate the stock.
On digital storefronts, including on PC, there's one actor who can drop the price; the publisher, and there's no limit to the amount of stock, and there's no upfront cost. This means that there's no pressure to move copies
now rather than later. It means that if a publisher doesn't have the resources to try to push their stuff (there are defunct companies whose products get price drops at retail but who would never even fill out the form to drop a price on a digital service, let alone work with someone like Microsoft or Sony to get their game placed in a smaller sale), no one is dropping the price. In the OP's Call of Duty example, Call of Duty gets garbage sales on PC as well, and it gets garbage sales because Activision does not want older games cannibalizing the sales for newer games--in other words, they don't want their own games competing on price with each other.