Outside of battle, Fly can be used to instantly go to certain points on the map. Most of these points are towns, but not all. As a restriction on this, points in Johto are only valid destinations while the character's current location is in Johto. There is also a restriction of moving to Kanto locations only while the character is currently in a Kanto location.
In battle, Fly takes two turns before damage is actually dealt. Between the time that the move begins execution on the turn selected and the time that the move actually deals damage on the next turn, the pokemon using Fly will be semi-invulnerable.
Semi-invulnerable means that almost all moves will be unable to affect the pokemon during this state. There are a few exceptions to this, however. The moves Gust, Thunder, Twister, and Whirlwind may hit a pokemon in this state during the use of Fly. These four moves maintain the Accuracy that they would normally have if Fly were not being used, and Gust as well as Twister do 2 times the damage they would do otherwise.
Moves that are currently enhanced by the effects of Lock-On or Mindreader will ignore this semi-invulnerability and also retain the Accuracy-enhancing effects, but damage-causing moves will not cause any more damage than normal (unless it is one of the three moves that would normally do that during this state). The moves Lock-On and Mindreader themselves are affected by the semi-invulnerable state and will fail when used against a pokemon during this time.
Fly receives the flinching bonus when King's Rock is attached to the using pokémon.
Fly is affected by Brightpowder when the opposing pokémon is equipped with it.