Every component-container mechanism is built using reflection. Examples are plenty - Servlet container, EJB container, Spring IoC container, even Struts and all externally configured web frameworks.
Basically, whenever we configure a Java object in XML (or any external medium) and try to set any properties on it from config itself, reflection is in the picture. Though it is hidden from application programmers and is implemented in the container itself.
Posting one real case scenario where java reflection can be handy.
For eg - finding details of java class of which you have no source code access. only .class file is present with you.
There you can use java reflection code which can take fully qualified class name and print all its instance variables and methods signature. In this way you will be able to get some details around that class.