
Money and control. There is no technical reason, and in fact it would be easier to just let people host their own servers.
Allowing self-hosting used to be the norm for online games. Businesses realized a long time ago that gamers stopped having standards and would accept any abuse to not be left out of the hype.
Right. It can and has been done before while still turning a profit. People can, did, and still do use self-hosting as a way to play things for free. It has never been the reason for why a game failed financially, though. Most people just don’t have the knowledge or the interest to go through the extra steps required to play for free. A lot of them buy things because they genuinely wanted to support the developers.
The abuse is the point. The people in charge spend every day figuring out more ways to take power away from people and give it to the corporation. It’s an art and a science at this point.