Legendaries - Pain in the butt to catch.
People think its complicated but it isnt.
1. Buy a lot of Ultra balls, as many as possible but save some money.
2. Get a strong pokemon that can get the enemy to sleep/paralyzed.
3. Find the pokemon you wish to catch (e.g Zapdos).
4. Battle it, get its HP down to 1 or anywhere near.
5. Put the damn thing to sleep.
6. (Hopefully you have 3 hours spare here.) Over the next 4763 turns pelt Ultra balls at it until it finally gives up and stays in the flipping ball.
Just be patient, im not, but you should be.
Not likely to stay in the ball for the first few thousand turns.
TIP: Save somewhere near the pokemon you wish to catch, then if you get frutrated or if you run out of battery, when you restart/turn it back on, you'll be next to the pokemon ready to pelt it with attacks and Ultra Balls.
EDIT: TIP 2: Dont poison or confuse it, if you do it'll faint and you'll be like, Huh? Where'd it go? Like a complete idiot, then you realise what an idiot you've been and you shout, 'Hey! Im an idiot.'