Development is a fixed cost which remains the same irrespective of how many copies the game sells...
And this is largely why games and software in general are moving towards a free model. Publishers always got greedy, and would continue charging high prices long after the development costs were recovered resulting in extremely high profit margins, and this creates resentment among the customers.
Other things like DRM schemes also create resentment, there are plenty of angry customers who paid full price for a game only to be unable to play it, or have to find a cracked version. This usually causes people to go directly for the cracked version and skip the broken paid version. Where a game is distributed free there is no reason to try and discourage copying (the opposite infact), and if a user downloads a free game only to find it doesn't work they will usually just delete it and forget about it rather than feeling sore about the loss of what to many people is a significant amount of money.
And finally software moves towards a free model because it can... Hardware and services require not only up front development costs, but also ongoing costs for every unit sold whereas software can be infinitely replicated. A lot of software can also be reused, there are lots of ready made game engines out there including free ones and most publishers will reuse code and other assets from one game to the next.