Almost every detail of the Goliath story exists in more than one version, and the differences are visible in the surviving manuscripts rather than inferred.
On who killed him, the second book of Samuel states plainly that Elhanan of Bethlehem killed Goliath the Gittite, whose spear shaft was like a weaver's beam. Chronicles, retelling the same list, has Elhanan kill the brother of Goliath, which reads as a harmonisation. Commentators from antiquity onward have proposed that Elhanan was another name for David, or that the Chronicler preserves the original.
On his height, the Masoretic Hebrew gives six cubits and a span, close to nine feet nine inches. The Greek Septuagint, the historian Josephus, and a Samuel scroll recovered from Qumran all give four cubits and a span, close to six feet nine. Three independent early witnesses agree against the received Hebrew, which makes the shorter figure the better attested reading and turns Goliath from an impossible giant into a very large man.
The chapter as a whole also circulated in two lengths. The Greek text of Vaticanus lacks a substantial block of verses that the Hebrew has, and the Hebrew version consequently introduces David twice, once as Saul's harpist and armour bearer and again as an unknown shepherd boy whose name Saul has to ask for.
None of this is a modern discovery, and none of it is marginal. The best known single combat in the Hebrew Bible is preserved in a form that shows two accounts being fitted together, and the seams were left where they are.