The advantage that CLI applications have over GUI applications is pretty well understood. They can be chained and scripted in a way that allows quick and often automatic use of them, in a way that's difficult or impossible to do with GUI applications. However, I notice that there's a fair amount of modern or even new Linux software (even intended for desktops that are capable of GUIs) that use a TUI. As far as I know, TUI apps don't have any scripting or chaining advantages over GUI apps, and it seems that the only advantage they have are that they're a little quicker to start up if you're already in the terminal. But besides that, their downsides seem plentiful, like lacking actual graphics, needing to deal with some keyboard shortcut limitations, not being able to have sound (at least I've never seen this in a TUI) and other things. So why are there still programs being developed like this, like nnn, Kakoune, and others? Is there some significant advantage that I don't know about, or is it just out of tradition from a time when graphics support wasn't as common?
As JackDouglas observes in a comment, the principal advantage of a text-based program is that you don't need to be either (a) sat in front of the machine, or (b) connected using a screen/window-sharing protocol, in order to run a TUI.
I can, and often have, scraped a broken machine back into life from hundreds of miles away when all I could get was an ssh connection, or some kind of weird java-based access to a KVM device which was OK with transmitting a text console but threw a hissy fit or needed a non-standard licence (thanks, HP) when asked to send graphics, or modem access to a serial line (yaay Sun Microsystems).
Even when graphical-screen access is theoretically achievable, if your connectivity is via a poor-quality GSM link, useful work can be done in a text interface even over GPRS bandwidths and/or 300ms latencies, either of which make window/screen-sharing protocols unviable. If you're doing this from a train which is itself passing through tunnels and so dropping the link every two minutes, then *screen* means you can still do complex tasks via TUI; good luck doing that with ssh-forwarded X clients.
The move from X (often described as *a network protocol with a sideline in drawing windows*) to Wayland (which isn't implicitly network-transparent) is yet another reason for the people who have to fix things when they break to prefer text access, because when it all goes to pieces, **simplicity is your friend**. And because we work with those things when the magic smoke is coming out, we keep our skills sharpest by working with them the rest of the time, too.