First the problem. Most people do not like to check their bags because it adds time and the risk that the airline will misdirect, damage, or lose the luggage. Airlines figured this out long ago and recognized that without some restrictions, most passengers would try to carry on all their bags. These restrictions are meant not only to ensure passenger safety, but also to create an equal amount of carry-on space for all passengers. Anyone who has taken a flight recently knows the system doesn't work.
Most passengers prefer to put their bags overhead so they can have more legroom.
People who get on the plane first tend to stow both bags up there. Soon the bins fill up and people who board the plane later cannot find overhead space. Passengers become frustrated as they scurry up and down the aisle looking for an open bin. Flight attendants get flustered and often have to gate-check extra bags. As a result, the departure is usually late by a few minutes, and if it isn't, it's because the airline has factored this wasted time into their schedules.