Then why are you using them here in your examples all of the time?
This won't work since the right half of the += call is a lambda expression returning a new delegate to MouseMoved(sender, args) and in the next line you unsubscribe MouseMove(sender, args), not the delegate you created earlier on.
Again. You're generating an anonymous delegate to the LogMessage method... Again not the one you probably subscribed, so the unsubscribe call will do nothing at all.
And I answered that, no, it is not, because you're not unsubscribing the same delegate as you were subscribing.
The link I provided lists all possible method of subscribing and unsubscribing an event (in general).
Without any lambdas (I prefer not to use those as well):
// Code provided by Jon Skeet...
public void ShowWoho(object sender, EventArgs e)
button.Click += ShowWoho;
button.Click -= ShowWoho;
If you say your code looks different, that please provide some. It would be a lot easier to see what we're actually talking about...
And we'd really like to help.