I once clamped a home switch on the Y-axis of my CNC router and didn't find it particularly useful so when it fell off I just left it. So long as the machine does not loose position and you're careful not to command it to go outside the working area then there's no reason for the home switches to be pressed. The latter is easy to avoid as it's easy to check if the job fits in the available space by checking the extents in mach3. If the machine stalls then you should find out why and make sure it never happens again, not rely on home switches to reset regularly. I left the dials on my mill and always zeroed them before each use so if something did go wrong I could quickly reset 'manually'.
But none of that really answers your question...essentially they compensate for user error most of the time. If you have an automatic tool-changer however they're vital so that the position of the tool rack is known (relative to the home position).

Having said that the next machine will have somewhat elaborate home switches - inductive sensor and IR sensor shining through hole in pulley to get greater resolution than switching off a part that moves linearly, resulting in the ability to reset (theoretically) within 1/8th of a step.