Many newcomers to Expect wonder about how it compares to Tcl.
[explain simplicity. Expect is just a superset of Tcl with additional functionality in three domains. Refer to articles. Point out that many people who think they need Expect do not need Expect. If you can do something with Tcl, you necessarily can do it with Expect; it's just an extension.]
What Expect gives the developer is a few new commands that are specifically oriented to dealing with setting up pseudo terminals (ptys), examining the returning output of a command, etc.
Most of what you write, however, is just Tcl.