I think I have the answer for the first two:
__() and _e() are functionally the same; they translate whatever text is in the parentheses. __() returns the translated text, whereas _e() echoes the translated text out.
What does _x() do? Are there more? I think I saw someone reference _c() but I haven't seen it used anywhere yet.
Thanks for the help!