Some pokemon, (Like the ones Dragon_Reborn posted) are harder to catch than others, to make the game more of a challenge. And of course, it's all luck if a pokeball catches a pokemon or not, so you'll just have to keep trying until you're luck enough to catch it.
I have found that pokemon in this game are harder to catch, maybe I'm not too lucky, or perhaps they actually made the game that way? Like in the bug catching contest, no matter how low I get pokemon's health down to, it ALWAYS takes at least 5-7 balls to catch it. Sometimes, I'll weaken a pokemon down to the red and end up using all 20 park balls, and still not catch it.
So, just use a lot of ultra balls, maybe inflict a status condition that DOES NOT MAKE THE POEKMON LOOSE HP, and maybe get a pokemon such as Scyther that learns false swipe, which can never kill a pokemon, so you can lower a poke down to a single hp and you won't have to worry about accidently killing it!
Then, try to catch it, but it's solely based on luck, so just keep on trying and trying until you get the pokemon!
Good luck!