Difference state vs. command

What exactly is the difference between these things and furthermore, what does sendCommand and postUpdate do in this context.

I got to this question when I noticed that the rule

Switch HueScene_1 "Sunset" (Scenes)

rule "HueScene_1"
	when
		Item HueScene_1 received command

is not executed when the item is in state ON and you send a PUT request via the REST API to /rest/items/HueScene_1/state to state ON. However, clicking the button on the OpenHAB website will cause the rule to execute, even if it the scene is still active.

I believe PUT is more like postUpdate(), POST is more like sendCommand(). For rules and bound channels to activate you need to send the command. The item state is updated automatically after the command is received.