I finished Pokémon XD yesterday, and after experiencing that and Colosseum, the main series games feel really burnt out.
I like how the GC games mixed up the formula: double battles instead of single battles; less battles, but each lasting longer and being more difficult; no monotype gym leaders, but opponents basing their teams around certain strategies (rain, stall, Earthquake + Protect, etc.)…
They were really refreshing to play, and showed that the Pokémon series has a lot of untapped potential for innovation and variation.
Colosseum and Gale of Darkness also had a good deal of atmosphere, despite the sometimes ugly graphics. Seeing the trainers alongside their Pokémon—all to scale—, without stupid circles under their feet really enhanced the experience. XD improved on that even further by having the trainers encourage their Pokémon when they're hit or fainting.
The world is a lot more alive too. Unlike in the main games, where the same unnamed NPC who told you to press A to talk to people still says the same line after you've saved the world from criminals and world-ending legendaries, the dialogue in Orre always changes. You can come back to irrelevant locations and talk to NPCs there, and they will comment on the recent developments. You've been shown on television? Various NPCs all over the region will comment on that, having seen you on TV. Your allies keep up with Team Cipher's activities and you foiling them, and even though you don't have to talk to any of them after halfway through the game, whenever you come back after beating a boss, they'll know about it.
Then there's NPCs with no involvement in the plot who just go about their own lives. You could beat the game without talking to them once, it's at no point required, but if you do, you can watch them telling their own stories. Like the Magicians moving from the Krabby Klub to the ONBS, and returning later—and the sailors' reactions.