Your reason might be purely cosmetic. For example, you could want to group types into different files depending on their use. E.g. you might want to keep type related to document structure in one file while you put put types related to semantic relations into another file. When you write a program, you also usually don't put all code into one file.
There could also be a technical reason. E.g in DKPro Core, the jcasgen-maven-plugin is used to automatically generate JCas classes for some type system files. These JCas classes are not checked in to the version control system. However, specific type system files are excluded from this automatic generation and the respective JCas classes are actually checked in to the version control system because they contain custom modifications - i.e. extra manually implemented methods.
Disclosure: I am a working on both, uimaFIT and DKPro Core.
Your reason might be purely cosmetic. For example, you could want to group types into different files depending on their use. E.g. you might want to keep type related to document structure in one file while you put put types related to semantic relations into another file. When you write a program, you also usually don't put all code into one file.
There could also be a technical reason. E.g in DKPro Core, the jcasgen-maven-plugin is used to automatically generate JCas classes for some type system files. These JCas classes are not checked in to the version control system. However, specific type system files are excluded from this automatic generation and the respective JCas classes are actually checked in to the version control system because they contain custom modifications - i.e. extra manually implemented methods.
Disclosure: I am a working on both, uimaFIT and DKPro Core.