Okay so:
Freeze Ball: Has a 10% catch rate but can freeze the target if it breaks loose providing it has not status inflictions already. (10% chance of inflicting freeze)
Sleep Ball: Has a 20% catch rate but can inflict sleep on the target if it breaks loose providing it has no status inflictions already. (40% chance of inflicting sleep)
Paralysis Ball: Has a 30% catch rate but can inflict paralysis on the target if it breaks loose providing it has no status inflictions already. (50% chance of inflicting paralysis)
Burn Ball: Has a 40% catch rate but can inflict burn on the target if it breaks loose providing it has no status inflictions already. (60% chance of inflicting burn)
Posion Ball: Has a 50% catch rate but can inflict posion on the target if it breaks loose providing it has no status inflictions already. (70% chance of inflicting posion)
Toxic Ball: Has a 60% catch rate but can inflict severe posion on the target if it breaks loose providing it has no status inflictions already. (80% chance of inflicting severe posion)
Flinch Ball: Has a 30% catch rate but can cause flinching for the target if it breaks loose. (70% chance of flinching) this one is to use to aid the efficiency of the with the timer ball.
Lucky 8 Ball: Has a 1% catch rate but if successful the Pokemon caught in the ball will have it's level multiplied by 8. (Maxing out at lvl 100, obv.)
Crystal Ball: Catch rate improved on Ghost and Psychic pokemon.
Mirror Ball: Works better on species that are the same as the users active pokemon.
Twine Ball: Works better on Meowth, Persian, Skitty, Delcatty, Glameow, Purugly and all Grass type Pokemon
Miracle Ball: Catch rate if the target pokemon has a higher level than the users pokemon: the difference in the users pokemon's level to the target pokemon's level is divided by 10. The catch rate is multiplied by this number and then divided by 1.5.
Eg. lvl1 vs lvl 100. The difference is 99. 99/10 = 9.9. 9.9/ 1.5 = 6.6. The catch rate is multipled by 6 (rounded down).
Catch rate if the target pokemon has a lower level than the users pokemon: the difference in the users pokemon's level to the target pokemon's level is divided by 10. The catch rate is divided by this number.
Eg. lvl80 vs 20. The difference is 60. 60/10 = 6. The catch rate is divided by 6. (Ie. reduced to 60 percent.
Stamina Ball: Works better the when the users current pokemon has more of it's HP.
Egg Ball: Works better on Exeggute, Exeggutor and Chansey.
Feint Ball: Will always catch a pokemon that has just used protect or detect.
Fetch Ball: Works better on Houndour, Houndoom, Growlithe, Arcanine...all the dog pokemon basically.
Homing ball: The catch rate is improved by the number of speed+ or evasion+ modifiers the target pokemon has. (+0.5 for every one)
Flip Ball:The catch rate is improved by the number of attack+ or special attack+ modifiers the target pokemon has. (+0.5 for every one)
Armor Ball:The catch rate is improved by the number of defense+ or special defense+ modifiers the target pokemon has. (+0.5 for every one)
Phase Ball: Works better if the target pokemon is protected by reflect, light screen, safeguard or lucky chant.
Desert Ball / Beach Ball / Umbrella Ball / Igloo Ball: Catch rate improved in weather conditions. (You know which ones.)
Impossiball: Catch rate improves by 0.5 every time the target pokemon lands a critical hit.
______________
I'm sorry once I got going I couldn't stop!!