WP-Cron is slightly different to a system cron in that:
- WP-Cron uses intervals – whereas a system cron is triggered at specific times
- WP-Cron only works when a page on the site is loaded – if there is no activity on the site then WP-Cron tasks will not run until there next is a vistor. Not useful for sites that are not really busy. However it can be worked around see here.