A simpler model is available with https://jwlodek.github.io/py_cui-docs/
If I'm understanding correctly, these just provide additional niceties and is fully usable without them.
Edit: Now that I think about it, a good example of TUI would be htop.
Command line is the most practical for me, since I spend 99.9% of my time there, and I rarely have an X session anyway on remote server.
Sometimes, I have a need for something more graphical say to look at a git graph. Spawning an X session and running a full blown GUI would be possible but it's too much hassle for that use case IMHO. TUI is a nice in-between.