I know that zeroconf does automatic service location on the local network. But what does it mean? For example there is a printer (printing is the service that it does). This printer choose randomly an IP for itself. It asks other devices if this IP is already occupied. If not, the printer occupies this IP. Then printer says to "everybody" that "printing" service is associated with this IP. Is it "automatic service location"? Or I got something wrong?
You've basically got it right.
Zeroconf does three things: