I think many people argue that it should be because of network and protocol properties.
http://home.here/setlighton > http://home.here/togglelight. If the answer gets lost and the command is repeated, you have an unknown state of the light in the second case, but both requests are perfectly valid of course.