Besides the gimbal lock problem mentioned in another problem, Euler angles are not easy to compose. It is also not obvious how to calculate the misorientation between two rotations with Euler angles, but it is trivial with quaternions.
Other approaches have their own problems. For example, matrices are more expensive to use in a computer (normalizing a quaternion to avoid rounding errors is much faster than normalizing the equivalent matrix, and quaternions need less memory), and Rodrigues vectors, while usually very useful, present the problem of infinite values for rotations of 180 degrees (which, in my opinion, should not be a problem, but it is in many programming languages).
At the end of the day, quaternions present the best compromise.