Excellent question, anonymous.
You see, gyarados is a river spirit pokémon. Specifically, it occurs when magikarp get so strong they become capable of using Splash to leap great distances into the air. When they leap high enough (old wives’ tales specify that the height must be at least that of a waterfall), the evolutionary energies that surge through them draw in elements of the wind and air and imbue the magikarp with its secondary type. Hence, the resulting gyarados is a flying-type and not a dragon-type—even if it looks like a dragon—simply because the element that is drawn into its body upon evolution is related to wind, not mystic dragon energy.
That and scientists have noticed that gyarados faint faster than most pokémon when struck with Thunderbolts for science.