On-call is making sure there are one or more persons responsible to be alerted on all incidents and outages. A person will be on-call for a period of time who sole responsibility to listen to alerts and respond to incidents. This is relatively an old concept, we are getting inspired from doctors and firefighters.
Example: At any given point in time, there will be one or more doctors at the Emergency room in a hospital when the patient arrives. These doctors are "on-call". For a critical patient, a doctor can help instantly and if need be, they can escalate to others to attend to the patient.
Similarly, your team can have at least one person on-call for a set period of time to respond to critical incidents, to say the least.
Schedules determine who is/will be on-call. You can create a flexible schedule, one that works for everyone and add team members to it. Schedules will make sure to rotate the members on daily, weekly or even custom time intervals.
Anyone with more than one team member.
Admins and members can both create and edit schedules
No, you can choose which escalation policy alerts an on-call user would receive.