En lo que respecta a las mejores prácticas, el enfoque común para optimizar la carga de la página es agrupar todos sus recursos JS, debido a la cantidad limitada de conexiones hacia un solo dominio, como mencionó Jarrod, y establecer un encabezado de vencimiento en el futuro en la respuesta.
Lo que los CDN aportan a esta mezcla, especialmente los populares, como también señaló Jarrod, es que el usuario ya habría accedido previamente a la URL y puede recuperar el recurso JS inmediatamente del caché de su cliente sin siquiera requerir establecer una conexión.
A tal efecto, si todos usamos CDN y empleamos las mejores prácticas, podemos evitar que el usuario recupere unos ~ 10-50 KB adicionales cuando acceden inicialmente a nuestras URL y les permite cargar sus páginas más rápido.
Recomiendo encarecidamente usar CDN por dos razones: los contras que Jarrod mencionó están ahí, es cierto, pero completamente insignificante y si ya está agrupando sus fuentes en un solo documento, obligará a todos a recuperar, por ejemplo, la parte estática de jQuery de el documento (~ 33 KB) cada vez que actualiza uno de los recursos incluidos.
No sé lo importante que te suena, pero con una gran base de usuarios esto lleva a un corte de ancho de banda significativo y ahorros significativos, bot de los cuales podemos desviarnos a asuntos más urgentes, como la transmisión de pornografía y la compra de cervezas.