A root of unity is a complex number $a$ such that $a^n = 1$ for some positive integer $n$. The "number of roots of unity" is the cardinality of the set of roots of unity.
For example, if $K=\mathbb{Q}(i)$, then the roots of unity in $K$ are $1$, $-1$, $i$, and $-i$, so the number of roots of unity contained in $K$ is $4$.
Yes: a complex number is a root of unity if and only if it has finite multiplicative order in $\mathbb{C}^*$. In fact, the group of roots of unity is the torsion subgroup of $\mathbb{C}^*$.
To prove that in the imaginary quadratic case the unit group of $\mathcal{O}_K$ coincides with the group of roots of unity in $K$ you could use Dirichlet's Unit Theorem (as Timothy Wagner suggests), but you don't have to. You can simply show that every unit in $\mathcal{O}_K$ must in fact be a root of unity. This is not hard, since you (probably) know exactly what $\mathcal{O}_K$ for $K=\mathbb{Q}(\sqrt{d})$ ($d$ square free, $d\neq 1$), and you can use the norm map. For example, to show it in the case of $K=\mathbb{Q}(i)$, note that an element in $\mathcal{O}_K = \mathbb{Z}[i]$ is a unit if and only if $N(a+bi) = a^2+b^2 = 1$ (since $N((a+bi)(c+di)) = N(a+bi)N(c+di)$). But since $a$ and $b$ are integers, that requires $a=\pm 1$ and $b=0$ or $a=0$ and $b=\pm 1$, giving you roots of unity.
(In fact, imaginary quadratic fields are the only number fields in which the group of units in the number field is finite and torsion; this follows from the aforementioned Dirichlet Unit Theorem)