What does the launcher do with regard to the operation of the game that cannot be done within the actual game itself? Is it due to a technical limitation or simply there for the convenience of the players? Are there alternatives to such methods of starting the execution of games?
To answer your third question about Minecraft specifically, you absolutely can run the Java version of Minecraft independently of the launcher. It’s just a Java package. Find it and load it with your Java runtime from the command line and it’ll play. Without authentication from the launcher, however, you will not be able to connect to Realms or indeed any multiplayer servers that have authentication enabled.
But for that reason, the Java version specifically of Minecraft is famously easy to pirate, provided you are fine with being limited to only playing locally or on pirate servers that have authentication disabled.
In the bad old days this was in fact the only way to play Minecraft in non-supported platforms (i.e. not Windows).