Depends highly on the specific application. Take a simple example of looking at process usage. You can use ps from the command line to get all sorts of info about a process. But there’s no substitute for top to show you an updating list of top cpu consumers, which ps just can’t do.
That's roughly aligned with my thinking. Make it a CLI. And if there's a lot of configuration that you can pass to it, have an option for rendering those options as a TUI.
Of course it's not necessary, it's a fashion. Choosing to make a TUI instead of a GUI is a fashion statement, it signals aesthetic alignment with nerdy shit and says the program isn't meant for common proles. There's pretty much nothing a TUI can do that a GUI can't do, while the opposite is very much not the case.