Why does ash release his pokemon?
First, keep in mind Ash has only released three pokemon. He does not release Primeape.Like Squirtle, he officially put it in training, but because it is less popular and appealing than Squirtle, it has a much smaller chance of making a return, as opposed to Squirtle, who already has. A Butterfree (which is apparently making a return in Unova, I'm not sure if in a flashback or in person), Pidgeot, and a Lapras. Lapras was a mode of transportation for Ash during the Orange arc. Remember that when he met it, it was a young Lapras separated from its family, and Ash promised to help return it to its family. Until then, Lapras would help Ash any way it could, mainly by helping him across the Orange islands. Considering Lapras' fear of humans after being abused by trainers wanting it only for fighting, it is still close to ash for helping it recover. It was only actually used in roughly three battles. It does come back in the episode "Lapras of Luxury." [http://bulbapedia.bulbagarden.net/wiki/EP257] Since Lapras was mainly a mode of Transportation, so there weren't a lot of situations in which it could be used well, Similar to Misty's Goldeen. He left Butterfree to go on with its own kind because he thought it would be happier that way. Pidgeot was in an awkward place since
Charizard already provided a flying ability, not to mention that Noctowl, Swellow,
Staraptor and Tranquill all fill in the exact same role, so there wasn't much of a point
in keeping him. The writers knew this and didn't really know how to handle this, so they released him under the situation that it became the leader and guardian of a bunch of Pidgey. Ash thought their safety was more important that Pidgeot being called upon for battles. Ash has gone back to Pallet several times, but hasn't come back to see it. Does that mean we'll never see it again? We don't know. In some final fanservice season, we'll probably see it, but that's still just a guess.
Why didn't ash take Larvitar or Haunter?
They don't want to give Ash an overly powerful pokemon like Gengar or Tyranitar. That would not only eliminate a pokemon for him to be challenged by, but also takes out the balance aspect. Larvitar was left with its family. Would it have been right to take a it with him right after it was reunited with its mother (mind you it had been kidnapped by poachers) Haunter was left with Sabrina to keep her cheered up, as her constant training stripped her of her happiness and was what drove her into her psychological problem.
Why doesn't Ash evolve his pokemon?
Let's take this one by region.
Only three of his pokemon are in their base form: Snivy, Oshawott, and Scraggy. When the majority of his team has already evolved, some of them twice, not to mention the fact that the arc is not over and still open for evolution, it's not fair to say he's not doing anything. Plus with over six pokemon in training, their battles are being stretched across several pokemon, so they will all evolve slower than if he trained them one at a time.
Gible didn't evovle, but remember that Dragon types take a very long time to evolve, and Ash caught gible Fairly late in the show, so it didn't have much time to evolve fully. Besides, Ash with a Garchomp in the pokemon league would have been a catch-22 for him; If it was overpowered, there wouldn't be any challenge. If it was an even match or even lost, people would think it's weak and he's a pathetic trainer for losing with a dragon.
Buizel-didn't evolve; can't say much on this.
Corphish was Ash's only unevolved pokemon. It didn't see as much use as say Sceptile, and was one of Ash's overlooked pokemon. so far, we're at three pokemon he hasn't evolved.
Totodile-there's not much to explain why this one happened. But a happy jumping totodile is far more appealing to children then an awkward croc thing that still has the same moves.
bayleef/quilava-Both of these have evolved, but not completely. Bayleef evolved rather quickly, but hasn't seen use lately. Quilava on the other hand didn't evolve until he was brought to sinnoh briefly. Does that mean Ash just now got him at level 14? No. There aren't levels in the anime. Both of them were still very strong despite not being Meganium and Typhlosion. He didn't even use Bayleef as a wall/supporter like it's "supposed to be" in the games.
bulbasaur-He had the choice to evolve in the episode "Bulbasaur's Mysterious Garden," but bulbasaur chose not to. This was his choice, not Ash's. It wanted to prove itself to the Ivysaur and Venusaur present that it wasn't weak, and didn't need to evolve to become strong. It's still taken out several pokemon that would be next to impossible to do in the video games. This proves that pokemon are able prevent their own evolution. The ones that don't want to evolve simply don't.
Squirtle-Remember that squirtle was part of the squirtle squad. It wouldn't have worked to have a wartortle or a Blastoise as part of the gang. He still held his own as one of Ash's strongest water types without evolution.
Pikachu-Ash will not Evolve pikachu. Simple as that. Pikachu is the mascot of the whole franchise. To do away with Pikachu is to do away with that. Pikachu, like bulbasaur, chooses not to evolve for itself, not having anything to do with Ash. It lost to a Raichu in "Electric Shock Showdown," and was given a chance to evolve into a Raichu. Ash didn't force it to, and ultimately gave pikachu the choice. It saw the thunderstone and refused to evolve, and later defeated raichu. it's still one of Ash's strongest pokemon, and since this is the anime, it doesn't have to evolve to fit that spot.
Snivy, oshawatt, scraggy, buizel, Gible, Totodile, bulbasaur, squirtle, and pikachu are the only pokemon that didn't evolve at all. quilava and Bayleef both evolved, but aren't fully evolved. 6-8 pokemon is hardly a majority, especially considering that these are all very strong pokemon in their own rights. Most of them choose not to evolve. Remember that unless it is something like Pikachu's case, Ash cannot choose when his pokemon evolve. They do so whenever they're ready. It's marketing. Cooler/cuter pokemon= more money from more people getting drawn into the show. It doesn't seem to work like the games where they evolve after a set amount of experience is gained.
"Pokémon are individuals; a
combination of trust, friendship and
hard work are needed to overcome
adversity. He is willing to work with
any Pokémon that comes into his care.
Ash's battle style is generally
spontaneous and fairly unorthoox, and
his Pokémon often reflect these
-Ash's philosiphy from bulbapedia
Why doesn't Ash catch a lot of pokemon?
"Gotta catch em all" was not Ash's goal. Ash's Goal was to become a pokemon master. The slogan was mainly put there as a ploy for people in the games. If he caught every pokemon he saw, then we'd have tons of pokemon we'd see for about one battle with no personality. Then people would complain that [pokemon] doesn't get enough screen time and how the pokemon are so bland. It's another lose lose situation for Ash.