IMO One of the reasons is the tight integration with other IBM Products and the operating system. In short you can do distributed, networked transactions seamlessly with COBOL, involving files, database and messaging all at once, without the programmer even knowing what distributed transactions are and how to implement them "manually" - few do.