¿Debo usar / evitar jQuery animate?

Me vino a la mente una pregunta respondiendo a esta , donde OP quería aplicar esta transición:

test.css({transition: 'height 1s linear', height: '100px'}); 

Y luego volver a esto:

 test.css({transition: 'none', height: '0px'}); 

Dijo que necesitaba que se hiciera desde js, y me pidió una mejor idea, así que le ofrecí este enfoque:

 test.animate({height: '100px'}, 1000, 'linear', function(){ test.css({transition: 'none', height: '0px'}); }); 

Aquí está mi jsFiddle: https://jsfiddle.net/mqaunyvp/1/

@Matrix comentó que las animaciones JS y jQuery están menos optimizadas que las CSS nativas, lo que es correcto, pero creo que no se trata de un tema en ese contexto.

Así que aquí está la cuestión:

¿Es correcto lograr esto de la manera que sugerí? ¿O lo desaconsejarías? ¿Por qué?

Una conclusión de todos los comentarios:

jQuery no se creó para animar objetos , por lo que puede ser lento y lento (dependiendo de qué y cuánto estés animando). Pero desplazarse por una página con la función .animate() jQuery , por ejemplo, funciona muy bien en la mayoría de los casos.

Para animaciones más avanzadas (como mover objetos o hacer animaciones complejas o muchas al mismo tiempo), use las bibliotecas como velocity .

Si solo desea animar el estilo / color del texto o un menú deslizable , es más rápido (y más fácil IMO) usar transiciones / animaciones CSS.

Entonces depende de lo que estés haciendo. ¡Espero que esto ayude!