Unlinking objects makes them randomly move away

I’ve never understood the whole linking objects thing in Blender. I have a whole bunch of objects throughout my scene that are parented or all move together. They don’t unparent and the only way to break their dependencies is to choose the ‘unlink’ option, which then makes each object fly to the four corners of the Blender scene and sometimes change scale.

Can anyone explain what’s going on and if there’s a way to unlink without this happening?

Anyone? still haven’t figured it out. Been months now.