Every time any government entity anywhere on Earth changes its mind about what zone they're in and when, the IANA needs to reissue the TZDB. Then every OS and platform vendor needs to patch up to a new TZDB. Just for laughs, Java seems to have its own TZDB so in general your OS and application layer might disagree about zones.
This is all okay for most users who just get an automated OS push, but some vendors operating national networks that need to do some things in localtime need to upgrade their platforms and do acceptance testing every time.
And then there's bugs.
Just for example about the variations, here's a recent TZDB change, seems Fiji is rejiggering their dates only a month away. See the archives for many more.
https://mm.icann.org/pipermail/tz-announce/2020-October/0000...