Explain why O = C = 0 is non-polar while R—O—R is polar?

CO _{ 2 } is a linear molecule. The dipole moment of two C = O bonds are equal and opposite. Hence, they cancel each other so, the dipole moment of CO _{ 2 } is zero and it is a non-polar molecule.

While for ethers, two dipoles are pointing in the same direction. These two dipoles do not cancel the effect of each other. Therefore, there is a finite resultant dipoles and hence, R—O—R is a polar molecule.