One comment, I'd like to make is that in many cases a limit switch is used as a safety switch. e.g. It's not activated on a regular basis.
A hoist: It has both an upper and lower limit, but most of the time, they are never activated. An operator with a brain generally keeps the hoist within it's limits.
A scientific instrument (stepper based): It has a low, high limit and an ORG switch. Org is the most important. So, the unit turns on and heads toward low, passes org and then advances to org.
A model gantry crane: I put them into the motor circuit and I had another feedback sensor. if the programming got out of whack, I went for overcurrent motor protection. it required a power recycle to clear the fault.
Shutter mechanism (synchronous motor): The switches were used to sense the ends, but the motor drove against a slip clutch. At least that's how I thought I designed it.