I can only repeat myself here: Polarity is an ill-defined concept that has a nice potential for confusion.
In most cases, when specifying a molecule as polar, one is colloquially referring to the presence of a dipole moment, i.e. one actually categorises the molecule as dipolar. As described by ron in "Why is carbon dioxide nonpolar?", $\ce{CO2}$ has no dipole moment, it is therefore not dipolar, or colloquially it is not polar.
However, $\ce{CO2}$ has two very dipolar bonds, and a significant quadrupole moment. If one were to extend the nomenclature, one would say the molecule is quadrupolar. However, this may lead to complications down the line.
On the other hand, as I have written in the linked question, toluene is often considered an unpolar/non-polar solvent, which is not really true considering it has a small dipole moment.
There are a couple of things one can predict with the concept of polarity, and fortunately, the more complex the molecules become, the better the approximation becomes. It is small highly symmetric molecules, which break these approximations.
Related reading: