Casting explained?

Hi there,

I was hoping someone could explain or point me to an explanation of ‘casting’. I’ve only found these docs so far:

From what I gather, you’d cast on to another object to get control of it. Is that right? What’s the real power behind this rather than using a custom event?

Thanks,
John