What does the underscore translate function do in my code without a textdoman

In the __() documentation, it says

If there is no translation, or the text domain isn’t loaded, the original text is returned.

Also, if you don’t provide a textdomain, then 'default' is used.

So, essentially, __( 'Name' ) will try to find a translation in the 'default' domain, and, failing that, return 'Name'.

If you do provide your own textdomain (eg __( 'Name', 'my-plugin-text-domain' )) but no translations, then the untranslated string will be used. There is, as far as I know, no downside to this, and it has the upside of making your theme or plugin translatable by you or others who wish to do it in the future.