In the show, Ash Ketchum hasn't caught any legendary Pokémon and he loses a lot of battles and people say that he is a pathetic trainer. Why does he not catch legendary Pokémon to expand his arsenal?
There are several reasons to that:
- It's a TV show, you wouldn't watch a TV show where the hero is absolutely the strongest and no one has a chance of defeating him, right? Think of what would happen should Ash have caught Dialga, Palkia or Arceus.
- It disrupts "the balance", it was portrayed in the anime that most legendary pokemon serve a role as some sort of "god" of a force of nature, (Kyogre of the Rain, Palkia of space, etc). If you capture them, you might disrupt the balance by "not letting them do their jobs".
Those are the two excuses I know.
Moral quandries aside,
He has yet to get a lasting grip on a master ball, and except in the Safari zone, you'll notice he's never been good at capturing pokemon (his pokemon-per-badge ratio is pretty low). He also very rarely buys or gets anything better than the most basic pokeballs if you notice. And if you've ever played the games, you'll know how important those better balls are for better captures.
So, in short... shoddy equipment.
Also, second reason... if you notice, he rarely captures, period (again, with the exception of the safari zone). He's more like the coach that focuses on training his team rather than the coach who trades for better players. (Also, remember his experience with Charizard... he knows too powerful pokemon types can be hard for him to handle, and later on he just kept in the habit as far as I can tell. I mean, think how often he had to get skin grafts.
I'm going to answer this question with a bit more respect for the show and Ash as a character than most people give it credit for. I think there are some reasons Ash doesn't catch legendary pokemon.
Ash only obtains a pokemon when it is natural - it's never forced
Ash's pokemon are not an "arsenal". Ash's stated goal is indeed to become the best pokemon trainer of all time. There is an implication that this means catching "them all", but in the context of the show, and Ash's character, this is considered to a long-term goal. There is no panic of missed opportunity when an encounter with a legendary pokemon does not lead to a capture.
To Ash, being a "master Pokemon trainer" means, first and foremost, treating his captured pokemon with respect and maintaining a friendship with them. He always does what he thinks is best for them. As such, any time he obtains a pokemon, it it's a natural thing; not forced. If it doesn't happen, then it doesn't happen.
Lastly, the anime often contrasts Ash's personality against those who would weigh and measure a pokemon's stats. Ash is no scientist - I think we would all agree he isn't very smart. He bases almost all his decisions on instinct - he cares not for statistics and min/maxing, which would realistically be required to become a Pokemon Master. The show does this on purpose - it considers getting out there to experience life a superior way of learning than sitting at home reading stats (this is probably most exemplified by May's brother Max). For this reason, Ash will never freak out about the potential lost by failing to capture a legendary pokemon.
Look what happens in the movies when a legendary leaves its post. Mass chaos and destruction would happen (though I suppose that is debatable. I've counted two legend trainers that I can remember, so it might just be the ORIGINAL legends and their young are safe to catch).
Though I do agree somewhat: it would be nice if Ash could at least capture them and call on their aid while generally leaving them alone.