• No support for server-side history, and all that comes with that (usable mobile clients, offline messaging and push notifications to mobile clients, persistent presence in channels, search, editing/deleting messages, auditability, etc). Bouncers are a poor solution, as they aren't part of the IRC server and integrate awkwardly, if at all, with clients.
• No support for attachments. (DCC SEND isn't a solution; not only does it require direct IPv4 connection between users, but it doesn't work at all in groups.)
• Poor user authentication. Connection-time auth solutions like SASL are poorly supported; after-connection auth like NickServ is hokey. Support for federated (non-password) authentication is practically nonexistent.
• Short - and unpredictable - message length limits (typically around 500 bytes).
• Crude permissions system.