I don't understand why we want to use some language feature like Junctions, instead of using lists explicitly?
PowerShell does something similar with their pipelines, see e.g. the answer [0] and the question it answers. Something similar happens in Bash: $x refers not to the string $x, but to the list of the strings that you get by splitting the original string by IFS. And yes, this feature is annoying and arguably is a mis-feature: containers shall not explode when you touch them. [0] https://stackoverflow.com/a/56977142
Also note that in contrast to Bash, Junction is a type.
Regarding their utility, at their most useful level (in my experience), junctions provide for things like:
$string ~~ “this”|”that”|”other”
This is the same as writing $string eq “this” || $string eq “that” || $string eq “other”
They have many other uses but that’s the most common one that I tend to see in practice.