Legendary and Mythical pokémon can be controversial for some players, and with good reason. They tend to be game-breaking. Beating the game doesn’t seem quite as satisfying of an accomplishment if you’re blasting everyone away with a Level 70 Mega Rayquaza you caught with a Master Ball. Because of this, all legendary and mythical pokémon are only obtainable at the end of the postgame.
Additionally, because some players would rather not deal with them, legendary and mythical pokémon have their own separate Pokédex called “Myths & Legends”, so you can complete your main Pokédex without bothering with them if you want.
There are a LOT of Legendary and Mythical pokémon, to the extent that catching them all one right after the other and using thousands of Ultra balls is going to become tedious. For this reason, I instituted an “Alpha” system. Legendary and Mythical pokémon are grouped into 18 groups, with each group having an Alpha. You only have to capture the Alpha, and then the others in that group will join your party in recognition of your strength. For example, capturing Ho-oh will cause Zapdos, Moltres, and Arcticuno to join your party.