Can someone help me understand binding in z2m and clusters?

From what i understand binding works that way:
if i i have something what uses zigbee (is version important?)
like for example aqara smart button and aqara smart plug, binding can be used to pair actions from smart button to smart plug without need of aqara hub?

Is it also true for other devices like between for example philips hue dimmer switch and aqara smart plug?
And is there somewhere tutorial for it how to use endpoints, and what are clusters in z2m?

Correct. But important to know: not all devices support binding.