La regla de oro es: para animaciones simples basadas en estados (un hover, un menú que se abre), CSS es perfecto y súper performante, especialmente si solo animas las propiedades transform y opacity, que están aceleradas por hardware.
Para secuencias complejas, animaciones basadas en el scroll, o que necesiten una línea de tiempo (que la animación B empiece cuando termine la A), GSAP es el rey. Te da un control que con CSS es una pesadilla de conseguir, y es increíblemente performante.