The issue with toggle buttons like this comes down to conflating two functions:
- An affordance to take an action.
- Displaying current state.
Buttons' primary purpose is to take an action, so they should look press-able to lead the user to taking the action by pressing. By also using it to display state, it leads to potential confusion.
If the button shows pause, does it mean that its state is paused or its action is pause? In the play/pause case, it seems like convention is showing pause means it is playing (like iTunes). But Slacker.com does the opposite (and confuses me because I use iTunes more).
This confusion is worse in situations where the convention is not as strong.
I almost always recommend using two mutually exclusive buttons, highlighting the one that is current (on/off toggle, rather than function 1/function 2 toggle), and visually relating the two buttons through proximity and style. I'll make exceptions if real estate is a driving factor, and a strong convention can be established.
(BTW, I recently read an article that traced the origins of having both a pause and a stop button to old reel-to-reel tapes, and that stop is totally unnecessary today. I can't find a reference right now though... anyone else have it?)