You know that G90 specifies the absolute mode. Any coordinates specified after G90 will use the program zero point as the origin for the motion. This is the most common method of specifying coordinates in your program - from program zero.
G91, as you also know, specifies incremental mode. Any coordinates specified after G91 will use the machine's current position as the origin for the motion. This can sometimes be helpful, but most programmers like to program exclusively in the absolute mode.
There are times when neither of these two positioning modes are appropriate. Consider, for example, any time you want to make a motion relative to the machine's zero return (reference) position. Doing so in the absolute mode will require that you know the program zero assignment values (fixture offset values on a mill or geometry offset values on a lathe).
Fanuc has provided the G53 command for this very reason. G53 is a non-modal (one-shot) G code. And you must know that it automatically invokes the rapid mode for any motions made with a G53 (but note that after the G53 command, the machine will revert to its most recent motion mode). Here are some applications for G53.
Another way to do a zero return
You know that G28 is the zero return command. While most programmers do use G28 to make the machine go to its zero return position (possibly because older machines don't have G53, and because the axis origin lights will not come on), G53 can be used for the same purpose. The machining center command:
N040 G53 X0 Y0 Z0
will make the machine rapid directly to its zero return position in all three axes.
Note that the coordinates (X0, Y0, and Z0) use the machine's zero return position as the origin. While this may make sense for doing a simple zero return, you must understand that with most machines, the zero return position is placed very close to the plus over travel limit in each axis. This means that most coordinates that are within the machine's range of travel will be negative when they are specified from the machine's coordinate system (with the zero return position as the point of origin).
Using a manual pallet changer
When used with vertical machining centers, manual pallet changers often require that the X and/or Y axes be properly aligned in order for the pallet change to occur. And again, the X and Y coordinates needed for making a pallet change will be very difficult to specify in the absolute mode (and they would change from program to program).
But these positions are consistent in the machine coordinate system. Say, for example, the X axis must be centered for a pallet change to occur. If the X axis is 30.0 inches long, the command
will rapid the machine to the pallet change position in its X axis- regardless of the machine's current position in the absolute mode.