Although people did move around a bit, during that time period, they also tended to stay put, and the fact that William was baptised in one parish, was married in another, and his son was baptised in a different parish again, might indicate that all those records don't relate to the same person?
A few other good places to look for information is the Cornwall Online Parish Clerks database and FreeREG. They are both transcribed records and there can be mistakes, but if you do find a record, it is usually a help to find the original record in the FamilySearch records that Rosemary mentioned.