ICoordinateSystemFactory allows applications to make coordinate systems that cannot be created by a ICoordinateSystemAuthorityFactory. This factory is very flexible, whereas the authority factory is easier to use.
So ICoordinateSystemAuthorityFactorycan be used to make 'standard' coordinate systems, and CoordinateSystemFactory can be used to make 'special' coordinate systems.
For example, the EPSG authority has codes for USA state plane coordinate systems using the NAD83 datum, but these coordinate systems always use meters. EPSG does not have codes for NAD83 state plane coordinate systems that use feet units. This factory lets an application create such a hybrid coordinate system.