The Pokémon anime is actually a little inconsistent in this. In episode 11: Charmander – The Stray Pokémon, Damian bragged about his collection of Pokémon and there was a large number of Pokéballs (more than six) in front of him. In episode 13: Mystery at the Lighthouse where Ash caught his Krabby, Misty told Ash that he could only have six Pokémon, and any more he caught after that would be sent back to whomever gave him his Pokédex.
Speculation: So, maybe if you have a Pokedex it forces you to only keep six Pokemon and people without one don't have to follow the rules?
Why Does Pokémon have a Six Pokémon limit?
In early episodes, Ash talks about the rules of Pokémon battles that the Pokémon League set. For example, he tells Team Rocket it is against the rules to use two Pokémon at once. Presumably the six Pokémon limit is one of these rules. Most trainers will probably follow the six Pokémon limit because of the Pokémon League's rules, but it isn't clear why the bad guys would follow the rules. And in the anime, as evidenced by Damian, it isn't clear whether they do follow that rule.
Edit: In Pokémon: Black and White, catching a seventh Pokémon works differently than it did when Ash caught his Krabby. Rather than being transported back to a professor, the Poké Ball shrinks and won't open and Ash has to get to a Pokémon Center to transfer his Pokémon. This inconsistency is first seen when Ash catches a Sewaddle in Sewaddle and Burgh in Pinwheel Forest! and is seen again when Ash catches a Palpitoad in a later episode.