There are plenty of games which could be played without a launcher so there is no compulsion to have a launcher.
that are usually tryna do some kind of work with the operating system before the game’s native code and 3D engine are loaded. Maybe that “work” is really secret DRM. Maybe it’s retrieving a newsfeed. Maybe it’s verifying your account or letting you change options.
So, why do that? Why not just have all that stuff be inside the game? Well, it’s faster and cheaper to code a launcher to do it and let the native-code guys focus on optimizing the game.
It can also be better for you, the player, in some ways - in the old days before launchers, if you messed up your settings badly and the game crashed, it’d often crash the next time you tried to load it, too. Time to go find the offending value in some .ini file (hope you know where hope you know which one) or re-install.
Now, a player would be able to reset the offending setting from the launcher. This is important because if he could only do that from within the game, he’d need more knowledge or be stuck. This goes for a bad patch, too, and games are patched *much* more frequently now than they were.
'All the best'