I should preface this: I grew up with Colosseum, and I must have beaten it 3-4 times or so. Whereas I only played XD relatively recently, and only once. So I might have some slight nostalgia goggles towards Colosseum here.
Despite all that, XD is, in my opinion, the better game. They both have their strengths, but Colosseum's are mostly in presentation, while XD's are in gameplay, and that's more important when you're playing, you know, a game.
Colosseum had a better story I suppose, but story has never been one of Pokémon's strong points, and even then it was okay at best. It also had better music. Listen to this
https://youtu.be/8HzxazC2EsQ and then listen to this.
https://youtu.be/vX8HhTfFPb4 The first song makes the second pale in comparison.
Though I will admit Miror B.'s XD theme is the most bangin' in the whole series. Colosseum also had a better graphical style. I think XD has better graphics from an objective standpoint, since some of the models seem higher poly and the attacks look flashier, but the character design is what really irks me. Everyone's eyes are enormous and they all look like some demented cross between anime characters and real people.
But XD's better gameplay is what gives it the edge. First, you can save anywhwere instead of just at PCs. Too many times I backtracked all the way back to a PC because I was afraid I would mess up and faint it by accident, where I wouldn't see it for quite a long time. In XD, any you don't catch go to Miror B., though he doesn't seem to show up often enough. And in Colosseum, if you wanted to purify a Pokémon you didn't like, you had to either use one of the 3 Time Flutes that you'll get and never use because they're so rare, blow your money on incenses, tape your control stick down and leave your GameCube on all night, or just suck it up and put Qwilfish on your party for a while, because you gotta if you want Ho-oh. XD instead gives you the Purification Chamber. (1/2)