Everything a serious IRC client needs.
Not a reinvention, not a simplification — full depth, for people who already know what they want from a client.
A real scripting language, not a plugin API
Write aliases, event handlers, and custom commands in a full scripting language built into the app — not a restrictive add-on system bolted onto someone else's chat client. Automate responses, build bots, react to joins and parts and mode changes, manipulate channel state, and wire up your own logic to any event IRC can fire.
Scripts can open real windows and dialogs — buttons, list boxes, text fields, custom layouts — not just print text to a channel. Build tools, control panels, and interfaces that live inside your own client.
DCC file transfer, done properly
Send and receive files directly between users, resume interrupted transfers, run a fileserver, and operate behind NAT with passive and reverse DCC. Use DCC chat for a direct, server-independent conversation. This is the part most modern IRC clients quietly dropped — IzzyIRC didn't.
Multi-server, multi-network
Connect to as many networks as you want at once, with SASL, SSL/TLS, STARTTLS, IPv6, and full IRCv3 capability negotiation. A tabbed switchbar and tree-style server/channel navigation keep it all manageable.
Everything else, in depth
.sdef dictionary — script IzzyIRC from the Script Editor or your own tools.