So, here's this article purporting to answer the misconception that Python is superior to Tcl in every conceivable way and, erm, I left with the impression that Python is superior to Tcl in every conceivable way except that Tcl is a smaller language. If you really want to do meta-programming in Python by putting together strings then eval() is right there waiting for you... but there are good reasons people try not to overuse it.
Yes, I believe you are missing the point. For example, when it comes to syntax Tcl is like a shell language in that you need very little punctuation to do stuff if you are just calling functions with string arguments. Python, on the other hand, forces you to fill everything with parenthesis and explicit quotes.
And while this kind of syntax issue might be seen as superficially trivial, consider the popularity of templating languages for generating HTML and other textual content. After a certain point its simpler to use a language where text is the default and code is marked up then it is to use an equivalently powerful library where the code is as usual but all the strings need to be quoted.
I've used tcl for years and I use python for my own projects.
The key difference is the lisp-like expressivity of tcl vs the structured nature of python, which makes it harder to do things like override control structures or rewrite functions on the fly.
Everything in tcl is a string leads to some very interesting consequences, some of which are outlined in the article. It's also easier to write disastrously messy code in tcl than in Python, and the freedom leads to rival and poorly documented libraries - it's not an "institutional" language the way Python is.