If your theme supports translation, then sure it’s worth wrapping anything that is written text (ie. something written in your language) in a translatable string. Your theme needs to register an approprite text domain in order for those translatable strings to be of any use though (same applies to plugins).
In regard to what to wrap in translation strings, take this example..
echo '<div class="wrapper">';
This would be totally pointless as..
_e('<div class="wrapper">', 'theme_text_domainname');
There’s nothing to translate, the code is layout markup, that deals with display not written words.
However, take this example..
echo 'Hello, i'm some text explaining or describing something';
vs
_e('Hello, i'm some text explaining or describing something', 'theme_text_domainname');
The first string is written in english, and stuck in english, it’s hard-coded so to speak.
The second string is translatable, and assuming your theme has registered a text domain (required in order for anyone to make a translation) could be translated into another language.
For words, yes certainly make them translatable strings (why not?), but for layout markup it’s not necessary(nor correct impo), if you want to give users the ability to change markup(ie. HTML), you should supply an appropriate filter, eg. apply_filters('my_filter', $example_var_holding_markup )
.
Does that help?