There is absolutely no error on either one of these translations. You choosing the KJV over the NIV here is simply a matter of choice and not one of accuracy. I really failed to see the point in posting this verse.
Did you actually read the footnotes?
If you should make this conclusion about the NIV, you should make the same conclusion about the KJV. THe KJV Reads:
And there was again a battle in Gob with the Philistines, where Elhanan the son of Jaareoregim, a Bethlehemite, slew
the brother of Goliath the Gittite, the staff of whose spear was like a weaver's beam.
In some of the KJV bibles, you will notice that
the brother of is enclosed within brackets. This is to show you that this part is not found in the original text. It is simply
added for clarity. The NIV chooses to leave the word in its original state and add a footnote to insert their opinion (which in this case is a valid one).
In light of accuracy in translating according to what the Hebrew text actually reads, the NIV has the accurate translation.
The Hebrew word the KJV translates as "the brother of Goliath" is golyath which is "Goliath." There is absolutely no trace of "the brother of" in the Hebrew.
http://www.blueletterbible.org/Bible.cfm?b=2Sa&c=21&v=19&t=KJV#conc/19