From Bulbapedia, the community-driven Pokémon encyclopedia.
A move (also known as an attack or technique) is what Pokémon have primarily used in battle ever since the Generation I games. In battle, a Pokémon uses one move each turn. Some moves (mainly moves learned by Hidden Machines, though not always) can be used outside of battle as well, usually for the purpose of removing obstacles or exploring new areas.
Moves have always been learned by leveling up, by use of Technical and Hidden Machines, and some Pokémon can learn moves only at certain evolutionary levels. Since Generation II, they can also be learned through breeding and from move tutors. Smeargle can also use a move called Sketch to learn a move in battle.
A Pokémon can only know four moves at a time. The moves which each Pokémon can learn is dependent on the Pokémon's species. In battle, moves can cause damage, affect a Pokémon's stats, heal the user, make the opponent flee, etc. When there are less than four moves known by a Pokémon, the remaining slots not filled will be indicated by a double dash (--). To forget a move that it knows, a Pokémon must either learn another move or have the move deleted by the move deleter. This is the only manner in which HM moves can be deleted, even those learned by level up.
Several Pokémon learn moves by level up at levels lower than that at which they can be obtained, either by capture (the case with many legendary Pokémon) or by evolution. For example, Sceptile learns X-Scissor at level 16, a level at which it cannot be obtained without hacking, while neither Treecko or Grovyle can learn X-Scissor by level. Due to this, it must be tutored this move at the move relearner's house.
Until Generation IV, moves ran off of Attack or Special Attack based on their type. Starting in Generation IV, they were grouped as physical or special dependent on the move itself.