i would guess that Thomas is correctly son of Annie and grandson of Thomas and Jane. I guess in 1891 Thomas said something like ' my daughter, Annie, and her son Thomas' and the enumerator just wrote down daughter Annie and son Thomas. In 1881 Thomas either described them to the enumerator as daughter and grandson, or the enumerator was a bit more on the ball and worked out the correct relationship to head of the household.
In 1901 either Thomas is misdescribed as nephew, or more likely Annie has a nephew of similar age also called Thomas - it is her dad's name and so it is very likely one of her older brothers (possibly Thomas!) also had a son called Thomas. Her own son, Thomas must be living elsewhere.
John Buttle, as her nephew, is probably a son of one of her sisters. In 1891 when he is described as a visitor to her parents I guess they used that phrase because he didnt normally live there, so was a visitor. even though he was actually their grandchild. Because Annie + Tom lived there, they gave their actaul relationships.
You can imagine the enumerator saying 'Who lives here' and Thomas senior saying 'me, my wife, my daughter and her son' and then the enumerator saying 'Any one else here on census night, any visitors?' and old tom says 'Oh yes, young John is visiting'...
Sorry - imagination getting into swing.