Catering companies, sports venues, etc. can still have you on-call. The difference between a temp agency and a catering company is that it completely severs the employment relation which protects the workers by law.
Yes, and that's usually worse than getting a fairly predictable number of hours from a temp agency. A temp agency will generally try to avoid asking an employees to be in multiple places at once. It's a pretty simple resource allocation problem.