How is this more explicit than specifying join columns today?
It enforces foreign keys during select.
One can say that it makes you explicitly state, which foreign key do you use.
"on a.foo = b.bar" can be a incomplete and/or incorrect join condition.
Exactly this.
It doesn't enforce foreign keys. It uses foreign key definitions to simplify the query. It clarifies intent, and because FOREIGN KEYs generally are required to have appropriate indices, it makes it clear that there must be at least one suitable index for the JOIN.
The intent is more explicit. Indirection != implicit.