I wonder if this is too general a tag to be useful. What do others think?
And how should we tag this question otherwise?
I looked through the list of questions you linked to, and did not find a single one (well, except possibly this), where the expressions tag would serve any meaningful purpose. So, I think that indeed, this tag is too general to be useful. I also think that if at a later point there will emerge a need for some more specific expressions-related tag, this will become clear to us. As to the recent question you linked to, I would rather use the tag semantics, and / or perhaps functions for it. My two cents.
'expressions' is too vague, period. I am all for removing this one. Perhaps a tag wiki could be written telling users not to use this one.
As to your second question: I believe this is a fine example of a question that could be labeled with a function name (If). We have a meta going on precisely about that type of question and I don't feel the last word has been said about it.
If not with 'If' this particular question could perhaps have been tagged with 'return-value'.