Digimon totally has the better story and characters, it's just that Pokémon is simpler for the children. Digimon has a complex storyline and complex characters most children just can't follow at times. With Pokémon, it's really just Ash traveling the regions with his two friends and Pikachu while Team Rocket follows after them as they encountered numerous one-shot characters scattered throughout, so it's much more easier to choose a character to follow. Whereas with Digimon, each character has a purpose in the story with equally deep backgrounds, and it's hard to keep track of them. I loved both shows as a kid, but I tended to prefer Pokémon over Digimon for that very reason. (Imagine if Pokémon and Digimon had aired at the same time intervals. Who would win the ratings war there?)
And of course, Pokémon has lasted longer than Digimon when it comes to popularity. As far as I know, the new Digimon season, Digimon Xros, hasn't been dubbed and it's like, what, the sixth season of Digimon's? Pokémon is on its... oh, damn, what season is Best Wishes? And it's still going strong over here. So Pokémon is always going to win out the kids in the end, but older audiences will go for Digimon. It's almost a win-win situation in a way, it's just that Pokémon will get higher ratings.