In interface builder there is a control in the struts and springs inspector that is labeled origin. What does this do and why does changing it for one object change it for ALL objects?

As far as I can tell it doesn’t have any real effect on the frame rectangle origin as the name implies. Let me explain:
Selecting a UILabel and changing the origin to be at the top right as in the photo above puts the frame origin at the point (280,11). However, in code, when you actually ask the frame for it’s origin it is given as (211,11) which corresponds to the top left corner of the frame. Therefore, changing the frame origin in interface builder appears to do absolutely nothing! What is going on here?!
It does nothing unless you’re editing the fields immediately adjacent to it. You’ll note that the X and Y coordinates change depending on the anchor point you select for it; that’s meant to make it easier for you to align the object by its center or edge.
The reason it changes for all objects is that it doesn’t actually affect anything about the object itself; the “real” coordinate system remains the same regardless of the displayed X and Y values there.
On OS X, as Nathan says, the coordinate system has its origin at the bottom left and its coordinates increase up and to the right; on iOS, the origin is at the top left, and its coordinates increase to the bottom and right.