Ash: "Your Raichu is way to slow Surge!"
Brock: "Right. Raichu evolved too soon and never learned the speed attacks it can only learn in the Pikachu stage."

The above is the classical example of why we all should know that evolution stones are a bad thing. Trainers become impatient with their Pokémon or are too anxious to get their evolutionary forms that Trainers use stones on their Pokémon. The Pokémon, of coarse, evolve and never learn certain attacks. I know that this is true for the anime, I've never used evolution stones in the game but I assume it's true also. Use the example of the Thundershock Showdown episode, which is where the above quotes are from. It's pointed out that you should never force a Pokémon to evolve and that it does not nessarily become stronger just because you use a stone on it. How often while playing any version of Pokémon has the following happened? You get into a fight with a trainer who has two Pokémon. The second pokémon is the evolution of the first but they are on the same level. I bet that if beat the first enemy pokémon with one hit, you will do the same with the second. Letting Pokémon evolve naturally is better.
Other side of it
Pyro: "A fire stone will turn it into a Flareon."
Rainer: "A water stone will turn it into a Vaporeon."
Jolteon Trainer: "A thunder stone will turn it into a Jolteon."

Oh, yeah... We all remember this episode. The Eevee episode. Well, that's where stones do come in. An Eevee has 5 evolutions. The first three are Jolteon(thunder stone), Vaporeon(water stone), and Flareon(fire stone). The other two do not use stones. They are Espeon and Umbreon. They aren't really important right now... Anyway, the only way to get one of Eevee's first 3 evolutions are with stones. So what's a trainer to do? If you use a stone you might be throwing away attacks that your Pokémon will never learn. If you don't use a stone and keep Eevee as is, he won't have the benefit of any of the other's abilities. There is really only one way to go with an Eevee. Train him as much as you feel comfortable with. Work Eevee up to a good level, to where you feel he is strong and has learned all the attacks he should in his currant stage. Now use a stone.

In any case other than Eevee's or certain other Pokémon(Bellossom, Steelix, Scizor, ect..) stones are really unnessary. I don't want to sound one sided on this. The ground line is, if a Pokémon can reach its finial evolution without needing a stone, don't use one!