Pokémon Ruby and Sapphire

Best: Double battles
Ruby and Sapphire set the stage for what would become a competitive staple. Rather than requiring you to fight one-on-one, the Game Boy Advance games introduced double battles, which allowed you to use two Pokémon at once. This opened up entirely new strategies and has more or less become the blueprint for modern competitive Pokémon battles. Swaths of Pokémon attacks were retooled and recontextualized with this format, and Pokémon was never the same.
Worst: HM glut
HMs are pretty much the bane of every Pokémon trainer’s existence, and Ruby and Sapphire cranked that shit up to eight total. Three of them are water-based, which means water Pokémon are often saddled with the burden of these moves, which hamstrings your entire team. Shoutout to the Sapphire kids who got Kyogre at the end who could take on all these moves so no one else had to.