Automatic matches the type already present: a JSON string stays a string, a number stays a number, a boolean stays a boolean. This is almost always what you want, and it prevents a value silently changing a property's meaning.
Choose an explicit type to change one deliberately, for example writing 8443 as a
string. A value that currently holds null has no type to infer, so it requires an
explicit choice.
XML targets are always text, so only Automatic and String apply. Credentials are always written as strings; to point one at a non-string JSON value you must select String explicitly, as an acknowledgement that the property's type is changing.