I'd say that the Parish Registers are the closest to being correct. You have, of course to allow for the fact that many people were illiterate and unable to spell their names and they therefore went with whatever the Parish Clerk/Vicar wrote down, as they wouldn't know if their name had been mis-spelt.
With the IGI what you see are transcriptions of the original records so there are bound to be mistakes. Clarity of handwriting varies greatly and when you are transcribing you are supposed to put down what you see and not what you think the name might be.
I once searched for ages for an ancestor named Gardiner. When I eventually found him and looked at the original I could see why the transcriber had him down as Garolmer - the handwriting was awful.
Emeltom