Can't believe no one tried to explain it this way. I mean, if the question is "Why Pikachu?", there's more to it than "He's so KYUUUUT!", you just need to think about the answer gamewise.
First of all, I don't think that Nintendo would've chosen Pikachu as the mascot if it hadn't already gained some popularity in Japan. And when you think about the starters, who might be the most iconic of them three? Wouldn't many agree that it's Charmander? Because of, well, fire, red, and mom I want that awesome dragon thing on the cover. Also, Charizard was a version mascot for the very first generation both in the east and the west, which Blastoise and Venusaur weren't. In Japan, the first generation was Red and GREEN.
Now, that doesn't say much about Pikachu, unless you've actually played Pokémon Red and Blue. Choosing Charmander as your starter Pokémon means that you're at disadvantage against the first two Gym Leaders unless you manage to either catch other types of Pokémon or train your Charmander until it can beat Rock and Water types even with the type disadvantage. Also, if you chose Squirtle, you too might have troubles with Cerulean Gym because it's the same type.
Anyways, when you think about the wild Pokémon available in the beginning, there are very few Pokémon that you can use effectively against Water Pokémon. There's either Bellsprout or Oddish and then there's Paras if you want to have something that has an advantage over Water types. But all of those start as fairly weak Pokémon, Paras doesn't even have a Grass attack to go along with its type. As for Electric type, there are none. Except Pikachu, which you may have encountered on your way to Pewter! Pikachu is as good an investment as any -- it learns Quick Attack and Thunder Wave very early and it has decent stats. It's the easy ticket past Pokémaniacs' Slowpokes, all the Flying types, and the sea routes to Cinnabar.
So, Pikachu is useful and you get it very early in the game. I can't think of many other Pokémon that'd live up to both that and the cuteness. If Nintendo had chosen any other mascot, I think the choices are limited to the three starters and something like Eevee or Clefairy. It probably should be something small that you can carry outside the ball anyway, otherwise its screen time would be very limited.
So the real question is, for the umpteenth time in this topic, why NOT Pikachu?