For specified example, act is an object of class apb_rw, extended from vmm_data. SystemVerilog std says that assignment of parent class object (Actual) to child class object (act) should be done through casting. Child class object by the way can be used anywhere, where a parent class object can be used without casting.
$cast is used to pass arguments(or also we call it handle):
$cast(act,actual) means act points to the object referenced by actual
I think there is no big difference with direct passing method "act=actual" if you don't want to check type of object.