I have these all over my theme, and when if I delete them, there nothing happens to the theme. What does it do? Should I leave them in or are they unnecessary? I want to opt
It is a WordPress Function used for localization. See the WordPress Docs for localization.
With this function you can output/assign "hardcoded" strings within your theme/plugin/code that are translateable (with .mo / .po files or plugins like WPML String Translation).
The function __( 'My Text', 'my-text-domain' );
assigns a string "My Text" that is translateable. 'my-text-domain' is the text-doamin the string is referenced to. This function does not echo anything!
The function _e( 'My Text', 'my-text-domain' );
is almost the same but it echoes your string directly.
WordPress Offers several other functions for localization, take a look into the Codex (link on top of my answer).