Evolution is when Pokémon change forms. There are many different ways this happens:
Sometimes when a Pokémon levels up, it evolves. The experience it gains causes it to gradually mature until something is triggered inside them that causes them to grow into a stronger creature. To grow levels your Pokémon must get a certain amount of experience points (exp). Obviously the only way to do that is to have it participate in battle (EXP share also works).
If you wish to temporarily prevent the Pokémon's evolution, you can repeatedly tap the button during evolution, or make the Pokémon hold an Everstone. This is useful if you want your Pokémon to learn a move that its evolution won't, or will learn only after much later.
Preventing a Pokémon to evolve will affect its stat growth only while it remains unevolved. Once it evolves, its stats will increase to the level it would have had as if it had evolved at its proper level.
Using a GBA link cable you can trade certain Pokémon to other trainers. Some Pokémon evolve when this happens, because the electrical stimulation from the trade transfer awakens a Pokémon to their full potential.
When some Pokémon are given items they evolve:
Trading with Items
Rare items are known to evolve Pokémon but only if they are traded with the item, because the electric stimulation can cause an item to synthesize and bond with a Pokémon, triggering an evolution. An example is Scyther, which evolves into Scizor if it's traded while holding a Metal Coat.
Leaf, Sun, Moon, Fire, Thunder, and Water Stones also evolve Pokémon. The power stored inside these stones is so potent, that when a certain Pokémon is exposed to its radiation, it absorbs that power and evolves.
An example is using a Water Stone on Staryu so it evolves into Starmie. Remember that this type of evolution can radically change the Pokémon's learnset, so be careful when making the choice to evolve.
Branched, or random evolution occurs when one Pokémon may turn into more than one different Pokémon upon evolution. In other words, you can evolve a Pokémon into multiple forms, most easily recognized with Eevee, who can use three different evolutionary stones to evolve, or evolve with high happiness during the day or night. In later generations, it gains even more ways to evolve still.
When Pokémon are happy enough they might evolve. These Pokémon have bonded so deeply with its trainer that they evolve to protect the trainer and show their adoration for them. An example is Chansey into Blissey.
Some Pokémon evolve whether it is day or night to adapt to a daytime or nighttime environment. This does not work with FireRed/LeafGreen because they don't have an in-game clock, so you must trade the Pokémon over to Ruby/Sapphire, where you have a clock to utilize. Case in point- you can't get an Espeon or Umbreon unless they evolved through Ruby or Sapphire.