The best 'generalist' options:
- Quick Ball has a 5× catch rate on the first turn of battle (or 4× below Gen 5), meaning it is always worth your while to toss one at the start of your encounter. If I had to choose one ball to answer your question with, it would be this one. Buy Quick Balls.
- Dusk Ball reaches 3.5× in Gen 3–6 and 3× in Gen 7+. Usually, this will be comfortably above your next best option. Dusk Balls work at night and in caves, which means you could use them almost anywhere.
- Dive Ball hits 3.5× while surfing or fishing, which is well worth bothering with.
- Timer Ball passes Ultra Ball's catch rate of 2× after the fifth turn, and maxes out at 4× on the tenth turn. If you're hunting legendary Pokemon with low catch rates, then this will likely end up your best option.
- Repeat Ball is useful if you want to catch Pokemon you've already caught, as it reaches 3.5× in Gen 7+ which is higher than Dusk Ball in the same games.
- Ultra Ball is your best option in the vast majority of other cases, at 2× catch rate. You really should hunt at night to get the 3× boost from Dusk Ball instead.
- Beast Ball is needed to catch Ultra Beasts.
Niche options that would be good if they were easier to attain in high quantities:
- Level Ball scales up to 8× catch rate when your Pokemon's level is four times higher than your target's level. It also sits at a handy 4× if you've got double the level. If you have level 100 Pokemon, this is a good option.
- Lure Ball has a 5× catch rate while fishing (though only 3× in Gen 4).
- Fast Ball reaches 4× for Pokemon with base Speed above 100.
- Master Ball.
Everything else is either outclassed by the other balls, event-exclusive, or so niche that I couldn't even bring myself to mention it in the list of niche balls.
Catch rates