As you might know the GIL prevents Python from doing any real threading
to better understand workers, let's see what would happen without them:
with no workers enabled, your odoo instance only uses one core in the hosting machine, hence once the number of clients goes beyond one, the performance just goes downhill since a new client needs to wait its turn to use odoo resources.
normally a production server would have multiple cores, hence the need to scale odoo on the machine resources; simply put workers is somehow equal to launching multiple instance of odoo on the same machine
For more information visit Odoo documentation here