Por una lado:
.- Colocar algo en jre/lib/ext es instalar esa clase para TODO lo que se ejecute en esa versión de Java y darle privilegios como si fuera una extensión estándar de Java.
Y aunque eso suene bien, no lo es en realidad si hablamos de clases de usuario o librerias concretas.
Por otro lado:
.- Es la solución fácil para no tener que aprender como funciona el CLASSPATH y ponerlo correctamente, así que la gente usa eso en vez de aprender y luego más tarde se mete en problemas gordos
. El problema es que en realidad no saben por que funciona ni los efectos "secundarios" que tiene.
Un ejemplo muy simple, NINGUN servicio de hosting compartido te dejara poner absolutamente NADA en jre/lib/ext, asi que si un día tienes que poner tu aplicación en producción en un hosting de ese tipo, los más comunes y baratos, no podrás usar esa solución. Otro ejemplo, si instalas una aplicacion que se ejecute sobre esa version de Java, sea tuya o comprada, aunque venga con su propia version del driver JDBC, la version que has puesto en jre/lib/ext tendrá preferencia en algunos casos y te puede dar unos problemas muy raros y dificiles de detectar.
Pero como es facil y la gente empieza en su ordenador sin muchas aplicaciones en Java a la vez, es una solucion que se ha popularizado erroneamente.