Hello Peter, In the family history book I have it says that the name changes is because "illeteracy in early America was widespread and so the census enumerators and other officials were sometimes poorly educated and would guess at name spellings and write it as they thought it should be spelled or the way they heard it pronounced.
Example:David L. Cocke used the name Cocke all his life while his brother, James, used Cocks and Cox. Hiram S. Cocke, a son of David L. Cocke, also used Cocke all his life but uses the name Coke for all his sons in his will when deeding his property. In the family bible of James B. Cocke/Cox, another son od David L. Cocke, the names Cocke, Cox and Coke are all used within the same family. The name Coake was used by some children of Henry Cocke/Cox, a grandson of David Clinton Cocke/Cox."