In the old days of OpenGL with the builtin matrix stacks, glLoadIdentity served as a simple way of setting the topmost matrix on the stack to the identity matrix.
If you were doing a transform like T1*R1*S1*T2*R2*S2, it has the benefit of letting you use the same cumulative form for each of the operations instead of having to overload the first one to be able to replace the existing state instead of multiply with it.
That is, you have:
glLoadIdentity();
glTranslatef(..); glRotatef(); glScalef();
glTranslatef(..); glRotatef(); glScalef();
instead of a hypothetical:
glClearAndTranslatef(..); glRotatef(); glScalef();
glTranslatef(..); glRotatef(); glScalef();
You can compare this to addition or multiplication of scalars - you can always add in the identity element for the operation: 1 * a * b and 0 + c + d.
Modern matrix libraries tend to eschew the stack model in lieu of matrix objects. As such, there's no real need to have a focus on the current object, as all matrices are fairly equal in importance.
You then only really need an identity matrix for when you really need identity, not to clear out the state for a long multiplication.