these are used for defining your argument type means an argument which you will pass what is the type of it..is it an 'string', 'boolean' ,'Integer' etc.
You need to define here what kind of argument you are going to pass for exmple if you are passing an class then the type will be an object right.
Now next question is what they do why we need to define it here.. so answer is:
You can configure the class constructor arguments in your di.xml in the argument node. The object manager injects these arguments into the class during creation. The name of the argument configured in the XML file must correspond to the name of the parameter in the constructor in the configured class.