Two Call Buttons are used outside the Elevator to determine which Direction you'll be going and to avoid the elevator reach maximum capacity by putting request calls on HOLD by preventing to halt on floors where the person wants to travel an opposite direction.
Take this scenario, for example:
There are 10 floors in a Building.
The Elevator is on the Ground Floor.
5 people enter an elevator which can contain a total of 6.
All 5 people want to go up (obviously) to a floor above 7.
You are on the 5th floor.
You want to go to the Ground Floor.
There's another person on the 6th floor wanting to travel to the 10th.
You press the Down button to indicate you'll be going down.
Person on the 6th floor presses the Up button to indicate he'll be travelling up.
Solution 1:
If we were to approach this problem with FCFS, you would get in the elevator, fill the maximum capacity, the elevator would stop on the 6th floor as well, since the other person called. He'd notice that it's full. Elevator will close and go up. You'll then wait until all the other 5 people go to the >7 floors.
Elevator would come down back to the 6th, take the other person, travel all the way to the Ground floor and then take the other person to the 10th.
Not optimal.
Solution 2:
We approach this problem with the direction the person who wants to get in the elevator wants to travel to. Since the Elevator's direction is now from Ground -> 10th floor, it will place your request on Hold, since you want to go the opposite direction.
It will go to the 6th floor and halt for the person who wants to travel in the same direction. Elevator is now full. Everyone wants to get down at a floor >7. Elevator goes up, till the 10th. Now it's empty. It comes down, and now takes all the held requests back in consideration.
You want to now travel in the same direction. It stops on your floor and let's you step in and takes you to the Ground floor.
These are used in cases where there is a lot of weight to be carried into the Elevator and might reach maximum capacity faster. For eg. Hospitals.
Optimal.
Single Call Buttons do not pay heed to which direction you're going and approach the problem by FCFS.
This is normally used in Residential Buildings since the capacity isn't normally reached.