For vanilla minecraft, the default launcher from Mojang themselves is fine but lacks support for mods (since you have to download those seperately alongside the mods you want to add). However, if you are serious about modding the game: Prism, ATLauncher, Curse Forge are preferred since those have the loaders (Forge, Fabric) integrated.


The vanilla launcher lets you use mods, shaders, resource packs, behaviour packs
The other launchers support things like mod packs, or they make it easier to install mods
can you have multiple instances through the vanilla launcher?
Yes you can but it’s kind of hidden.
In Prism, it’s super easy to set up an instance, throw in a mod loader, and filter, download, and update compatible mods in the app. It also allows you to choose and configure the Java version easily per instance, view logs, and export instances.
It also has the cat button, which shows a cat :3