Legendaries are a concept that may have just allowed the survival of Pokémon all these years. The first games were good without them interfering in a major way. Back then, Pokémon was a fresh concept. In the second generation, they gave the main legendary a minor part in the storyline. Perhaps if they did not do this, the original fans would not like the newer games, saying it's just the same concept with some weird new Pokémon. Ever since Gen III, they made it a point to link the legendary with the evil team and doing something evil, and how we must stop them. Quite good if you ask me, there's actually a storyline, but with the freedom for you to do what you wish all the same.
Catching legendaries was not an idea I would appreciate. Sure, it's nice to battle an extremely strong wild Pokémon. Even nicer to catch it, considering that they're quite hard to catch. Gives you a flush of glory, doesn't it? You've not only foiled the evil guy's plans, you've also bagged an extremely strong Pokémon. You may/mayn't plan on using that, if not, you'll put the legendary in that reserved spot in the PC. Either way, the legendary's going to live the rest of its life (most probably eternal) inside a Pokéball, only to come out once in a while (if you choose to take said Pokémon along) and follow a trainer's orders. The trainer would possibly pass on the Pokémon's services to his/her descendant, no doubt. If he/she releases the Pokémon, then well and good. If not, I don't see why they should have let us catch the Pokémon. Making the legendaries uncatchable (and considerably stronger nonetheless) would surely be more realistic. At least more realistic that carrying space, time, sea and land inside the Pokéballs stashed in your pockets.