Three atomic time scales run in parallel and disagree by fixed whole seconds. TAI is International Atomic Time, which simply counts seconds and never pauses. UTC is TAI with leap seconds inserted to track the Earth's rotation. GPS time started from UTC in 1980 and has ignored leap seconds ever since.
Why the offsets are whole seconds
Every leap second inserted into UTC widened its gap from TAI by exactly one second, and left GPS time untouched. The offsets are therefore integers that step, not drift — which makes them easy to apply and easy to get wrong if a system's table is out of date. Details in TAI vs UTC vs GPS time.
Which scale should a system use?
Civil applications want UTC because that is what people's clocks show. Systems measuring intervals across a possible leap second want a scale without them. Getting this wrong is why leap seconds have caused real outages — and a large part of why they are being retired.