What should be presented in a simple tooltip when hovering over a stateful widget, such as a button like the up/down vote and star buttons on this question? Is it important to describe the current state or the next-click action? Or even indicate its a toggle (which can be un-done with a second click) rather than an action?
Keeping the tooltip short, unambiguous and easy-to-understand, can be quite difficult.
This is somewhat related to the question about whether the button itself should indicate state or next-action: Should a toggle button show its current state or the state to which it will change?, and was inspired by a specific question about the tooltip on the 'star' button on SE questions from meta-StackOverflow.
Sometimes it may be easy enough to describe the general purpose of the button, where the user will already know about the action/effect, e.g. "toggle play/pause" — the user almost certainly knows what play & pause are, they just need to know that this button switches between the two states.
But other times you may need to describe the action/effect as well, or the purpose behind it, e.g. the up/down vote buttons, or some toggle of an advanced setting, so you're starting to potentially describe the switching, the effect of each state, and what the current state is or what the next-click will do. Sometimes you may even need to indicate that the effect will occur immediately (e.g. checkboxes are commonly used in preferences/dialogs either with immediate effect as well as delayed until you hit Apply or OK), or if there are limits to how often, or how many times you can click them (e.g. some SE vote buttons have limitations: you can't remove a vote months later, you can't re-up-vote a comment after removing your up-vote).