An implicitly typed variable is "syntactic sugar". It gets compiled into exactly the same code either way, so runtime performance is unaffected.
Why use an explicit declaration?
It is a matter of style/preference/standard of a developer or organization. Some find the code to be more clear or intention-revealing.
For the record, an anonymous type (notice no double-n in there) is one that is declared inline, or "on-the-fly," depending on how you look at it. It is anonymous because it has no name. It is a temporary object that can be useful for holding related data.
In VB, it is declared by calling Dim anon = New With { .Name = "Moderator71", .Id = 19 }
You can optionally declare some properties as Key.