Sometimes, ad hoc things happen in our culture. Spurious bank holidays get added on a day’s notice in exceptional situations. These can be inserted into the cached DB. There is no calculation to back them.
This is a big one. And you don't get much notice, maybe a day or two. Typical ones in the US are death of a President or prominent Senator (I _think_ we had one for John McCain). Much easier if you can insert the holiday in a lookup table and have all your systems adapt.
Unexpected bank holidays (happened to me in 2002 during a financial crisis), official days of mourning, etc. Nothing to compute there: a government declares a holiday and you just enter it into the table.
Sure, you can compute Easter (you can just look up Knuth’s explanation of the algorithm for this…), but you can’t compute government decrees.