I agree with most of the answers given here, but these arguments apply in general to every situation in Java, however in this particular case EMF has one more additional reason: EMF has its own introspection mechanisms, which are used, for example, for serialization and deserialization that does not rely on Java reflection.
For deserialization, for example, it reads an XML file and instantiates Java objects using Ecore model information and associated factories. Otherwise, he will need to use Java reflection.
source share