Difference between aws legal hold vs compliance lock?
This blog might help.
A legal hold doesn’t have an expiration date/retention period. It will stay in effect until it is removed. You would use a legal hold when you don’t know how long you need the lock for. The hold can be removed by users with appropriate permission.
The compliance lock involves specifying a retention period. Once set, no-one can delete the objects, including root user.