Because it's a TV show. Having evolved pokemon doesn't make you the strongest. His Pikachu was able to take out things like Onix, Golem, or Latios on its own. there's no way you could pull that off in the games. Also, the show is more an advertisement to gamefreak than it is an actual show; they like to keep the main ones unevolved to show what you can get in the video games. they'll only evolve certain ones for the sake of fanservice, like Charizard. It's about Marketing. Cuter/cooler pokemon pokemon=more money in Gf's pocket.
It also helps to prove the theme of true stregnth coming from within, I.E Pikachu battling Raichu in the battle against Surge, and Bulbasaur/Squirtle Fighting their evovled forms later on.
Also, in Ash's battle against Lt. Surge, he says that if he evolves his pokemon just so they can become stronger, he's no better than Surge, so he lets them evolve whenever they evolve. Remember that the anime and the games are two different things. Unless a pokemon evolves through something specific, such as a stone, ash can't control when they evolve.