One of my WordPress sites was stuck on version 4.0.1. Wordpress is currently up to version 4.5.2 and the update function kept on telling me that the WordPress software was currently up to date.
After Googling a lot and reading a lot of posts from people having the same problem, one post finally gave the answer. The Cpanel had modified three of the core files so that they didn’t work correctly anymore. Following the solution in the post I downloaded the Wordfence Security plugin and ran a scan. It came back and told me that three core files didn’t match the corresponding files in the source repository and gave me the option to download the original version from the source repository. On restoring all three files from the source repository the update function is again working.