Анимация состоит из кадров, соответственно, если требуется более тонкое управление анимацией, то используем animation, т.е.keyframes и промежуточные значения.
А для простой анимации transition.
Проще говоря:
transition - для анимации "старт-финиш"
animation- для анимации в которой нужно управлять кадрами