Stupidity: After eventually arriving at the stadium, why didn't Ash tell anyone that he was late due to getting kidnapped by Team Rocket? He arrived with half of his Pokémon exhausted and subsequently lost his battle. If he informed everyone about his situation, his battle with Ritchie would likely have been postponed until tomorrow, giving him some much-needed time to rest, which would have given him a bigger chance to win.
Stupidity: Characters often waste the perfect opportunity to catch a useful Pokémon. Quite frequently, after defeating the wild Pokémon which attacked them, they just leave these Pokémon unconscious or defeated, but never think about catching them in this state.
Stupidity: Why didn't Tracey simply use his Venonat to put Snorlax to sleep? Granted, this would have made for a very short episode but still.
Answer: He is a good guy but just found himself in a bad situation when he worked for Lysander. He didn't want him to harm Ash and his Pokémon when he was trying to get the special bond between Ash and his Greninja to work. He does leave Lysander and go back to being a good person.