These are documented as being identical, but git diff a b works if a is a tree (for example, 4b825d..., the empty tree hash), but git diff a..b does not.
Particularly, with the a..b form, arc diff --base arc:empty does not work. With the a b form, it does.