impl Trait and <T: Trait> are both statically dispatched, whilst Box<Trait>, &Trait etc are dynamically dispatched using vtables. impl Trait was introduced for existential generics (callee chooses). It was decided that it was ergonomic to allow impl Trait in argument position, and that this would be universal generics (caller chooses), like <T: Trait>.
I think that in the future trait objects will turn from Trait to dyn Trait, to make clear that they are dynamically dispatched. This is a breaking change, so it requires very careful management to not put off users interested in backwards compatibility.
Remember that this is currently unstable - not all the documentation that is required has been written, and the feature may still change. Someone new to the language should ignore this feature for now.