Battle Leagues are a new PvP format introduced with Pokemon GO Trainer Battles and they limit the Combat Power of Pokemon you can use during battles. Before participating in Trainer Battles, you need to select a League in which you will be battling. According to the official screenshots, you can only use three Pokemon when fighting in a League.
There are three different Battle Leagues in Pokemon GO:
|Great League||1500 CP Limit per Pokemon|
|Ultra League||2500 CP Limit per Pokemon|
|Master League||No CP Limit per Pokemon|
The Leagues are designed with CP in mind for a reason, as they allow a wide variety of Pokemon to be used in a particular league. Moreover, this format allows every Pokemon to have a usable spot in the overall PvP meta game. Zangoose is a terrible attacker in Raids? No problem, it fits just right in the Ultra League with a crazy move pool variety and wide type coverage.
The Great League in particular is designed to be filled with lower level or lower tier Pokemon that finally have a place to shine. It also allows lower level Trainers to participate in PvP from early days. Ultra League is designed for wide variety and niche team experimentation, bringing a taste of what you will encounter in the Master League. Meanwhile the Master League removes all possible limitations in favor of an all out battle, making it a perfect place to flex your Mewtwo, Raikou and other strong Pokemon.
Some Pokemon are better fit for particular Leagues than others.
Given the CP limitations, the League format alleviates a lot of demand for Stardust. A Level 15 Legendary can land well under 1500 CP making it a perfect surprise in Great League. Or you can go on a spending spree and use it in Ultra or Master Leagues, as those will usually feature higher CP Pokemon.