VID is the voltage that the CPU requests from voltage regulator and which it "thinks" it is getting. Vcore on the other hand is the real monitored CPU voltage value that the CPU is getting. If the mainboard implements additional Vcore "offsetting" then the CPU doesn't know about this and so the difference between VID and Vcore can be explained.