In genere, usi una inner class quando sai che ti servirà usarla solamente nella classe che la contiene. Infatti, se non vado errato, una inner class è totalmente invisibile a qualsiasi altra classe che non sia quella che la contiene.

Ciao