I would guess that it sets the home offset
[reprap.org]
But this only survives till next controller reboot.
It would need to be saved with a m500 to survive a reboot.
It badly documented [github.com]
"The __Set Home Offsets__ menu option subtracts `current_position` from `home_offset`. So, first you do an __Auto Home__ command (which sets `current_position` to the home position minus the `home_offset`.) Then, move the axes with the LCD options or host, and then use __Set Home Offsets__ from the LCD to subtract the `current_position` from the `home_offset` and set `current_position` to the home position. To clear `home_offset` you just __Auto Home__ then __Set Home Offsets__ right away. "
[reprap.org]
But this only survives till next controller reboot.
It would need to be saved with a m500 to survive a reboot.
It badly documented [github.com]
"The __Set Home Offsets__ menu option subtracts `current_position` from `home_offset`. So, first you do an __Auto Home__ command (which sets `current_position` to the home position minus the `home_offset`.) Then, move the axes with the LCD options or host, and then use __Set Home Offsets__ from the LCD to subtract the `current_position` from the `home_offset` and set `current_position` to the home position. To clear `home_offset` you just __Auto Home__ then __Set Home Offsets__ right away. "