Better UX. You can see real timestamps instead of relative timestamps, you can display the seconds (Gajim lets you do this, but not Dino or Conversations). You can sort the rooms/chats/windows how you want instead of being stuck with ever-changing activity-based that you can't use blindly or the somewhat-better alphabetical sort. Usually way more keybinds and faster ways to jump between rooms. A lot of this stuff works together also. In irssi I know what window #6 is, and it's one of my more-used chats, so I can hit alt-6 or esc-6 to jump straight to it. I can also use the go.pl plugin to jump to stuff by name, which I use for anything beyond the first 11 or so things.

Scriptability in irssi is really nice. I can run shell commands from it and post the output as a message. This lets me do stuff like use a sleep for a specified amount of time and then an echo for my actual message. Combined with a couple variables and an alias, I can type /se (for sleep echo) plus "2h" or similar for the time and then my message to send a message to that window in that amount of time. Great for if my friend just went to sleep and I trust he's more likely to read a message that arrives while he's there than read the whole backlog I left him.

Logs are a big thing. I have nice plaintext logs from irssi. I can grep them, view them in less and jump around, and so on. It's fast, goes back really far, and I always find stuff I'm looking for and trying to reference. Newer stuff tends to have a built-in client search and the logs are hidden away somewhere and often a sql database or some other inaccessible thing. This is a massive downgrade. Especially with how slow in-client searches always are.

It's easy to focus on stuff like URL previews, attachments/inline images, encryption, and so on when talking about XMPP and Matrix and other newer stuff, but these things aren't a straight upgrade. I use them all quite heavily, I'm not avoiding them because they're worse, I'm just very often sad about it. Basically they reinvent the wheel and do it worse, then tack the new stuff on top. It doesn't feel like a better IRC client, it feels like its own thing, and that thing isn't good.

The best Matrix experience I had was using a weechat plugin. It was very buggy and would take several tries to login, occasionally log me out, and these days it's unusable and my whole weechat install is broken... However, when it worked, I had a lot of the stuff I get with irssi "for free" because weechat is an IRC client. I could sort my windows manually and jump around quickly, logs were plaintext and easy to work with. You can even hide buffers for rooms you don't want to see, and you can still jump to them with the go plugin when they're hidden.

There's also the benefit that comes with TUI stuff where I can run it on my server and attach from my PC or phone seamlessly and have the same real client instead of a lesser mobile client that works differently, but this is not the most important feature at all. You could make a graphical program with most of the nice things about irssi in it. You can kinda see this philosophy with how emacs as a gui is like the terminal emacs, except it has support for more colors, multiple fonts, selecting text from adjacent split windows more easily (the separators aren't literal text in a gui), etc. It's definitely rare for GUI stuff to be as good as TUI, but it's not impossible.