we used handler class in trigger in Salesforce because it:
facilitates logic-less triggers and One Trigger Per Object, which itself has many benefits(including fine grained control over order of execution)
improves readability and Separation of Concerns(this improved readability makes version control more fruitful as well)
optionally facilitates selective disablement
Trigger handler is the starting point to ‘handle’ complex logic set into a trigger.
Creating a class defined as MyObjectTriggerHandler can help to design a modular set of reusable objects which manage all the operations to be done by a trigger.