I've only used the GUI interface, and I think it has some UI features that aren't available in the TUI interface, but you should be able to use both with (mostly? entirely?) the same configuration.
There are various ways to run terminal/shell sessions from within Emacs, and to run shell commands and capture their output. So while I almost exclusively use the command line, I do it all from within the Emacs GUI.
If you happen to use git, you might consider trying magit, an Emacs interface for using git that many people find vastly preferable to using git directly.