What is the difference between O & O2
The common confusion here is that two very different things have the same name.  $\ce O$ is a free oxygen atom and $\ce{O2}$ is two oxygen atoms chemically bound to form an oxygen molecule.

There is no common analogy for $\ce C$, but $\ce{N2}$ is called nitrogen, $\ce{H2}$ is hydrogen and $\ce{Cl2}$ is chlorine, each having the same name as that of their constituent elements.

So, to reiterate, the difference between oxygen $\left(\ce O\right)$ and oxygen $\left(\ce{O2}\right)$ is that the former is an oxygen atom while the latter consists of two $\ce O$ atoms bound together, forming a molecule also called oxygen.