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?
Managing updates, versions, mods, and settings can be done from a launcher instead of the game itself and it’s often easier that way. If you wanted to adjust mods in-game you’d need to restart the game for changes to take effect.
Before Steam became the universal launcher, lots of games had their own. Minecraft isn’t a Steam game so it comes with its own launcher.
This completely depends on the game. There’s nothing inherently about mods that requires this.
The only game I can think of that doesn’t actually require a restart is Mechwarrior 5: Mercenaries. I’m sure there’s more, but that’s what I’ve encountered.
That’s because it’s easier.
Most games do not even have official modding support, Minecraft included. Most are only moddable because they use some interpreted programming language somewhere in their game, which people found ways to read and inject with their own code.
Luanti is kind of the obvious example to point to, with it being a community-developed engine for Minecraft-like games. But yeah, what @Azzu@lemm.ee said very much makes the difference. As opposed to Minecraft, Luanti has modding support built-in.