It seems we can describe every rotation in $SO(3)$ by at least one unit vector axis $u$ and angle $\theta$ pair.
Each of these pairs can also be described by a rotation matrix:
I've heard quarternions can also be used to achieve the same goal.
How do you translate from the $(u, \theta)$ representation of a rotation to a quaternion representation?
How do you use the quaternion representation of a rotation to rotate some point $P \in R^3$ about the origin?

The relation is as follows: Given the rotation angle $\theta$ and the unit vector (axis) $\mathbf{u}$, you have to form the quaternion $$ \mathbf{q}=\cos\frac{\theta}{2}+\sin\frac{\theta}{2}\mathbf{u}. $$ Then the double-sided action $$ R(\mathbf{v})=\mathbf{q}\mathbf{v}\mathbf{q^*} $$ (where $\mathbf{q^*}$ is the conjugate quaternion and the operation is quaternion multiplication) gives you the rotated vector.