Surf is a damage-dealing Water-type move. It can be learned from HM03.
Surf can be used outside of battle to travel over bodies of water. When doing so, wild Pokémon may be encountered. Surfing is a very important mechanic of the games and is required to complete the game.
Surf requires a region-specific Gym Badge in order to be used outside of battle.
To use Surf outside of Battle in Kanto, you must have the Soul Badge from the Fushia City Gym Leader Koga.
To use Surf outside of Battle in Johto, you must have the Fog Badge from the Ecruteak City Gym Leader Morty.
You obtain Surf after talking to the Kimono Girls at the Dance Theatre after beating the Ecruteak City Gym.