Verify the Cron is Running
As the cron job is used to send out emails amongst many other tasks, it is paramount that it is running successfully. You can verify it is running by going to Settings -> General -> Scheduled Tasks, the status bar will be green and all the tasks will have a recent last run time. Otherwise you should check over the configuration of the cron job, this includes ensuring the configuration for PHP CLI (usually different to the web server process) also passes the system requirements.
We highly recommend to ensure that you're subscribed to errors generated by the cron. On Linux, this can be achieved using the MAILTO setting.