I would say that what JS animations are even better at is justifying inflated budgets of the projects made for people who are not very familiar with tech.
Is there ever a real reason for animations that doesn't make the interface feel sluggish and unresponsive? In the other hand if you actually set the animation delay to something incredibly low, all of your animation needs could be easily solved by animating the transparency of the appearing elements.
You can use it to make your UI more obvious. If you hit "Delete", the item might shrink and slide (within say 200ms) into the "trash can". This way the user knows they can undelete from the trash can.
Is there ever a real reason for animations that doesn't make the interface feel sluggish and unresponsive? In the other hand if you actually set the animation delay to something incredibly low, all of your animation needs could be easily solved by animating the transparency of the appearing elements.