The geographic extent of legislative time zones can change, they can morph, split and merge, and also appear and vanish completely. In consequence, the only way to unambiguously specify which local time results when adding durations backwards and forwards in time, without being constrained to limited periods of legislative non-change, is to fix a specific geographical location, and to specify how local time has changed and is changing at that particular location. That is what the
tz database does. In principle, you could define a separate time zone for each point on Earth, but that isn’t practical. So the compromise is to pick representative cities.
One important thing to understand is that the time zones of the tz database, and hence generally the time zones used in computing, are a slightly different concept than legislative time zones.