I have been carrying out 2D and 3D operations, including graphics, for many years and have never used quaternions so I don\'t have a feel for them. I know that they can be used
They have a smaller memory footprint than rotation matrices and they are more efficient than both matrix and angle/axis representations.
Also:
Quaternions have many advantages over Euler angles and are often preferable for 3D rotations:
Disadvantages:
With quaternions you also handle the problem of the gimbal lock. And they are easier to work with when you want to perform arbitrary rotations.
Compared to Euler angles they are simpler to compose and avoid the problem of gimbal lock.
Compared to rotation matrices they are more numerically stable and the representation (4 numbers) is more compact.
The advantage of quaternions over matrices is not only faster computation, but mostly because a matrix representation of successive rotations around arbitrary angles eventually give in to dreadful floating-point round-off errors and no longer represent proper, affine rotations. "Restoring" a rotation matrix is computationally more expensive than normalizing a quaternion. Therefore, quaternions should be chosen over pure rotation matrices.
Pros of quaternions
Cons.