From a dev point of view, the multitude of platforms is making it incredibly cumbersome to deal with.
Assume you make a game in Unity that works well both in mobile and desktop. Now you need to publish on iOS, Google Play, Amazon App Store (Underground or not?), Steam, GoG, Twitch, and Facebook. You may want to make a WebGL demo version for web portal sites as well. Each Platform has their own contracts you have to read carefully and not break.
To complicate it even further -- your game may work best as a paid game on iOS, but ad-revenue based on Android, and Underground on Amazon. These all require exceptions and finagling in the codebase.
Lets add some more complexity! "Gamecenters" -- Google Play integration, Amazon Gamecircle, iOS Game Center, Steam. Do you have Achievements? Steam has their own Achievements, as do all the platforms. Cloud save, Leaderboards? etc.
Now you make an update on your game..and have to export your game for all the various platforms and their special cases, and test them as well.