It depends on the situation, halt will stop the current script, as well as all "parent scripts", return will only stop the current script.
Eg:
alias test {
if ($istok(return halt,$1,32)) { test $+ $1 }
echo -a 1
}
alias testreturn {
echo -a 1
return
}
alias testhalt {
echo -a 1
halt
}
/test return - You will see that the return in the "testreturn" alias only stops that alias from running.
/test halt - You will see that the halt in the "testhalt" alias will stop that alias, but also the /test alias from running.