If Automatic Updates system is turned on but it's not working, then likely the crons are broken on your site.


It's very important to know that Shield doesn’t update anything. WordPress does. It’s WordPress automatic updates. 


So if it’s not working, your WordPress automatic updates is not working. Shield can only tell WordPress what to update, your site has to work properly for that to happen.


To learn how WordPress Automatic Updates system actually works, please read the article here.


Here is 1 of the possible scenarios:


1 - The Security dashboard shows that Automatic Updates is not enabled even if it is

So, despite setting Automatic Updates for WordPress (minor and major) you're still getting notified in the Security dashboard that it is not set. You have checked and re-checked all options are set to allow this...


This means that you have a problem with the WP Cron not running as it should be.

Within the Security dashboard there's an entry under Recent Events called "Simple Test Cron". This is the simplest test of the cron we can do to demonstrate whether the cron is running and it runs once per day.

All the scanners, and automatic updates, are run using the WP Cron, and if this is broken, then this, along with many other system features like Scheduled Posts, for example, will not function.

Perhaps take a look at this article to start debugging this:
https://www.linsoftware.com/how-to-debug-wordpress-wp-cron-jobs/


2 - Your automatic updates are still not running...

If your automatic updates are still not running, this means that you have a setting in either another plugin, your theme, or your wp-config.php file that is turning off automatic updates.

Have a read here:
https://codex.wordpress.org/Configuring_Automatic_Background_Updates

Then have a look in your wp-config.php for these settings. Also, if you think a plugin or your theme could be affecting the setting, temporarily disable it and then look at your insights.  But something, somewhere is disabling your automatic updates... you'll just have to find it. Shield is trying to set it, but something is overriding it.


For more information about the WordPress automatic updates and why they don't always work, read this article here.