I typically disable Cortana on my desktop and Surface Pro 3 (by transferring permissions to my admin login and renaming the folder). When I see either a big Windows update is needed, or there are a lot of failed updates, I usually run sfc /scannow, and if that doesn't work, I download the windows update troubleshooter.
I ran it (sfc) today on my desktop and Cortana is back and offensive. But the desktop updated without issues. (It actually didn't have many failed updates, but the Surface was having issues so I was trying to see if the desktop could provide answers.)
I ran sfc /scannow on the Surface, but it wouldn't update anything. I then downloaded the MS update troubleshooter on both the desktop and Surface, though the desktop updated fine. Desktop says there are no update issues, and all updates go through. Surface says there are update issues, reboot and fix them... and nothing is updated apparently: it's an infinite loop.
Background: I had to rollback a major update for the Surface -- and sadly I don't remember what it was -- but it screwed up my on-screen keyboard (this was about a month ago). Additionally, desktop is running 1709, whilst Surface is 1703 (perhaps due to the on-screen keyboard issue?)