WARNING: Specifications are subject to change.
IRC, in it's current incarnation, is a very powerful communication tool. It's used from small online communities, to powering team collaboration and communication at a large scale like at Facebook.
But, IRC as a platform has not really grown in a suitable way to meet the needs of it's users. To provide services, user authentication, etc, IRC resorts to services to provide this. User authentication is not part of the protocol itself. Services are a hack on the IRCd, at best. Not even the connection between the IRCd and the services, or the functionality of the services, is standardized. Often times, setting up services with an IRCd is a long and painful process.