It depends on the physical characteristics of each individual printer. The printer has “switches” (physical or logical) which it uses to determine where to set X, Y, and Z to zero. Without a z-offset, if you tell the printer to go to Z0, it may not just touch the bed (above is OK, below is dangerous and possibly destructive). The z-offset is used to make the actual location of the nozzle exactly touching the bed (or some small tolerance above). Note that the z-offset could be either a negative or positive value.
While adjusting the z-offset, it would be a bit dangerous if the value puts the nozzle too low (i.e. below the bed surface). To avoid this, after the printer has been zeroed (G28), manually move the nozzle to a safe small height above the bed (for example, Z1.75, Z2.85, or Z3.0, the diameter of a piece of filament) and observe the “gap” between the nozzle and the bed as you move the printer to various XY locations. If it varies too much as you move around, you may need to level the bed.
With a decent set of feeler gauges, you can measure this gap as you lower the nozzle (the largest feeler gauge in the set may only be 0.9 to 0.8mm). If you don’t have feeler gauges, a piece of 20lb paper is about .1mm, a business card about .3mm. Once you can measure the gap, you can compare the Z value with the measured value and adjust z-offset so that they match.
You are probably doing these adjustments with a cold nozzle. Keep in mind that a hot nozzle will change things so allow for that (or carefully measure it). In practice (as you have done), the z-offset is often adjusted “on the fly” as you print the first layer of a test object and you can avoid doing this intellectual exercise.