Should I waste balls catching rare Pokemon when I can just hatch better ones?
If it is rare, catch it anyways because
- You may not get another chance to spot a wild one
- You may not necessarily hatch the same rare pokemon later on.
- Sometimes wild pokemon can appear with excellent IVs (but appear weaker due to lower CP)
- You can also get good PVP IVs through wild spawns. In Great League and Ultra Leagues, in most cases a low attack is beneficial. Hatches have a floor of 10/10/10 IV which does not usually help for these two leagues.
- You can trade it to someone who needs that rare pokemon, and also get extra candy along the way. You can also lucky trade it.
- You get extra candy (and potential XL candy) for power ups
- +100 Stardust (or more if weather boost)
- You will own two strong/rare pokemon to use in gyms (What's better than one strong snorlax? Two strong snorlax's!)
What's to lose?
- Some balls, berries and time. The latter I agree time is precious, but the rest are not limited resources, e.g you can always get more balls and berries.
In terms of catching pokemon in general, if you plan to conserve your items, I would avoid catching Pokemon that aren't weak or strong, the "so-so" ones.
Weaker pokemon are great because they are easy to catch, which means easy stardust and candy. Strong ones might be useful for battling and gyms and won't require as much candy and stardust to power up. The one's in the middle are not ideal for any of these usages. A good example of this is Sunny Cherrim with CP of say 1600, useless for GL and UL, not particularly useful for gyms, hard to catch, not worth your time unless if you need the candy.
The rarer the Pokemon you're talking about, the less likely you will be to hatch it. I've never hatched a Snorlax -- you may not hatch the Pokemon you desire for weeks or even months. You won't know what you'll hatch until afterwards, so it's good to catch a new Pokemon as soon as you are given the chance.
Furthermore, catching Pokemon will give you candy that you can use to level up your strongest Pokemon in that evolutionary chain. After over 10 10km eggs, I've hatched 1 Lapras. I would be extremely happy to be able to catch one in the wild, regardless of how many Poke/Great/Ultra balls it takes.