Both to pretty well in competetive battling, but it would be difficult to compare the two. Gyarados is more offensive, with occasional tanking and walling variants. Milotic is almost always a wall, mostly in the Special Defense department. Gyarados has some well rounded stats, though. It can easily take a normal hit and set up Dragon Dance. Taunt gives Gyarados an opportunity to stop walls and sweepers from setting up their stats or Spikes. Gyarados can inflict some massive damage, as Ice Fang / Earthquake does tend to give it a lot of coverage and a massive blow empowered by a couple of Dragon Dances. Gyarados is highly expected though, and the number of counters for Gyarados remain vast. Thunderbolt is a common move tied in with Icebeam, to form a fearsome BoltBeam combination. Faster Pokemon, such as sweepers, easily counter Gyarados. Gyarados has a lot of counters, yes, but letting it set up too many Dragon Dances will devastate your team, and it can get past your counters, like Starmie or Gengar. Gyarados sets are mostly the standard TauntDDdos, though some variants exist like the Choice Scarf version or the BulkyDos. BulkyDos is extremely hard to take down, as it can survive Thunderpunch from Infernape and KO, and then Rest off the damage. It can inflict massive damage, too. Gyarados poses as a thread, in this sense. However, I tend to use DDMence a bit more, since it does have better speed, and won't fail to outrun its threats after one Dragon Dance. Milotic, on the other hand, is a fantastic dual wall. RestTalk can up Milotic's Defense by 50%, and Sleep Talk to attack. Hypnosis/Recover/HP[ICE] is also common. Milotic takes status conditions extremely well, and can inflict a good amount of damage. It's hard to take down with both defenses unusually high. It is very bulky, and can withstand a good number of supereffective hits. I love Milotic for this reason. In-game wise, Milotic is quite unique for the rare chance of actually finding it's pre-evolution. Evolving it can even be harder, making Milotic extremely unique. Milotic, if encountered in-game, can pose as a threat to your team. Hard hits encoupled with a bulky build in its defenses pack quite a punch. Gyarados is bulky too, but again Thunderbolt easily knocks it out. It isn't quite unique either, besides the fact that it is a dragon-like water snake that evolved from a floppy fish. But then again, so did Milotic, but Milotic had a more unique way of doing so. Magikarp can only learn three moves in it's life, while Feebas has access to all three of Magikarp's three moves plus various HMs and TMs. Feebas is better, in this case. Competetive-wise, I don't have a preference, really. I think they're both great. Overall, I would prefer Milotic because of it's unique and distinct traits, though I have to argue that it isn't as beautiful as it is said to be. Judging upon coolness alone, Gyarados is more of a beast - Gyarados wins for the cool part.