¿Cómo se usan las clases anónimas (internas) en Java?

¿Para qué sirven las clases anónimas en Java? ¿Podemos decir que el uso de la clase anónima es una de las ventajas de Java?