To understand the answer of this just think in generalized way.
Push Migration is nothing but something force you to leave the place
and
PULL migration is nothing but something attracts you to go that place
so in terms of memory processing, OS checks and validates the numbers of process in a queue. If the number of processes will be more then to balance the load some processes will be moved to another similarly if Scheduler finds there is no process in run queue so it raids another processor’s run queue and transfers a process onto its own queue so it will have something to run.