Great for teaching the basic concepts, how to assemble code together to create functional actions. It lets students easily participate and try things on their own. Can help start teaching them how to learn new things from a simple ui.
For more skilled programmers, it acts a fun challenge to see what they can build with it, because scratch is such a highly simple program that making anything more complex is harder with limited blocks.
This is what I would suggest learning by age in terms of languages
0-7: Scratch Jr.
8-12: Scratch
10 and up: HTML and CSS
12 and up: Python and Git
13 and up: Javascript and Bash
14 and up: SQL and Postgres
15 and up: OpenAI
I recommend teaching young kids Scratch. Not anyone else.
I made a quick scale based on @ParanormalCoder’s:
5-9: Scratch
10-11: Python and/or JS
12-14 (and maybe 15): C++ or Rust
15-18: Anything else