There are a number of different theories as to the meaning of Genesis 6:3:
120 years to the flood
One common interpretation is that it's not talking about lifespan, but the amount of time humanity has to repent before the coming of the Flood.1,2
Aside: Genesis 7:6 tells us that Noah was 600 years old when the flood came, placing the flood 1656 years after the creation of Adam according to the dates in Genesis 5, thus placing the Genesis 6:3 statement at 1536 years after Adam's creation.
120 years left of Adam's life
Another argument is that many versions have slightly mistranslated this verse. If you compare translations you'll see that some have the passage relating to "humans" - all humanity (such as the NIV, which you've quoted), many others use the term "man". This is because the word that's interpreted here as "humans" can also mean "the man"; or, more specifically, "the man Adam". So this argument states that Gen 6:3 is not talking about everyone, but specifically that Adam had 120 years left to live at the time God made this statement.2
Aside: Genesis 5 tells us that Adam lived for 930 years, so this statement would have happened when he was 810 years old. According to the chronology in chapter 5, this places the statement after the birth of Methusela (Noah's grandfather) but 64 years before the birth of Lamech (Noah's father).
Human lifespan of 120 years
This is the way many versions of the Bible are translated, and of course the meaning you have taken from the passage. But as you say, there are several people recorded in the Bible that have lived longer than 120 years since then. It's worth noting of course that we don't know what methods were used for recording the passing of time in those days, and how accurate or otherwise those methods were. Moreover, Dr John Oakes tells us that it's really only a Western culture thing that puts such an emphasis on the exact-ness of numbers. A common example of not using time literally would be the phase “just a minute” or “in a second”.
A quick note on my asides above - here's a footnote from Genesis 5:31 in the Amplified Bible:
It is now well known that the age of mankind cannot be
reckoned in years from the facts listed in genealogies, for there are
numerous known intentional gaps in them. For example, as B. B.
Warfield (Studies in Theology) points out, the genealogy in Matt.
1:1-17 omits the three kings, Ahaziah, Jehoash, and Amaziah, and
indicates that Joram (Matt. 1:8) begat Uzziah, who was his
great-great-grandson. The mistaking of compressed genealogies as bases
for chronology has been very misleading. So far, the dates in years of
very early Old Testament events are altogether speculative and
relative, and the tendency is to put them farther and farther back