Hi Shubham,
In Salesforce When you want to run a piece apex code at some particular time within a period of time.Schedule apex is class which runs at a regular interval of time. To schedule an apex class we need to implement an interface Schedulable. If you want to run a piece to schedule code at the first of every month or day wise you can use to make your life easier when you have to redeploy/change this code Scheduler apex runs as system mode that means whether the user has permission to execute the class or not, they can execute the class.