The game is still getting on my nerves, just had a cp436 seal, gave it a raspberry and got a great shot with an ultra ball, lyt it broke free and ran after one attempt, there's literally nothing more I could have done to capture it, why bother spawning if its impossible to catch?
Every pokemon has a catch-rate, and balls, throws and berries only modify that.
Some data extract had pidgeys being a 40% catch rate, whereas a wartortle was 8% (this is unconfirmed), and it is believed that these are also modified by the level of the pokemon, and the ranges are denoted by the colour of the catch ring.
The unproven theory is then that the ball you use, if you get a nice/great/excellent throw, and if you use a curveball, all influence that catch rate.
So hypothetically making figures up:
Normal pokeball: no catch modifier
Great ball: +20% catch
Ultra ball: +40% catch
Nice: +10% catch
Great: +20% catch
Excellent: +30% catch
Curve: +10% catch
Razz berry: +20% catch (or maybe this doesn't influence catch directly, but reduces the flee chance on escape).
You throw a normal pokeball, with no curve, and land outside the green coloured circle on a pidgey. RNG gives you a 40% chance to catch it.
You do the exact same, but with an Ultra ball. RNG give you a 56% chance (40% of 40 is 16, so 16% is added to your catch chance).
You land an excellent curveball with an Ultra. Chance is 72%.
The exact same three throws, but against a wartortle would be 8%, 11.2% and 14.4%.
Just an example, obviously there is more to it, possibly pokemon level relative to trainer level, etc