Differences and best practices: \onslide vs. \uncover, \onslide+ vs. \visible, \onslide* vs. \only?

Page 81 of the Beamer v3.20 user guide describes the behavior of the `\onslide` command. In particular, there are three forms when the optional text argument is given:

• `\onslide⟨overlay specification⟩{⟨text⟩}`,
• `\onslide+⟨overlay specification⟩{⟨text⟩}`, and
• `\onslide*⟨overlay specification⟩{⟨text⟩}`.

According to the user guide,

If a ⟨text⟩ argument is present, `\onslide` (without a ⟨modifier⟩) is mapped to `\uncover`, `\onslide+` is mapped to `\visible`, and `\onslide*` is mapped to `\only`.

This raises three questions:

• Is this mapping an exact correspondence?
• If so, what is the point of allowing `\onslide` to accept an optional ⟨text⟩ argument: why not just require users to use `\uncover`, `\visible`, and `\only` directly?
• Also, if so, is there any reason to prefer one form over the other as a best practice?
-
Please let me know if I should change this question to community wiki. – Henry DeYoung Jul 1 '12 at 20:34

If `{text}` is present and indeed starts with a brace, `\onslide` will just fall through to `\only`, `\visible` or `\uncover`, respectively.

However if there is no brace, it will fall though to `\only`, `\beamer@noargsvisibleonslide` and `\beamer@noargsonslide` which I vaguely presume are the switch variants of `\visible` and `\uncover`. (I really don't like the "can be switch or have an argument" style, so I'm not very motivated to dig deeper into this right now. ;) )

-
Do you think there is any reason to prefer one form (e.g., `\onslide+{text}` vs. `\visible{text}`) over the other as a best practice? In other words, why did the authors of Beamer choose to include these synonyms? – Henry DeYoung Jul 6 '12 at 14:28