Going to try my best to channel robertbu and provide a comprehensive helpful response…
Manual jogging, and Homing are different.
Homing will cause machine to reverse just a few mm after endstop is hit.
Where as manual jogging (not homing), by default, will ignore the endstop state, you can ram into x/y min or z max and the steppers will ‘skip steps’ making loud grinding noises, but mechanically nothing bad is happening, nothing is physically getting damaged. Behavior might be different if soft Endstops are enabled.
Just to clarify - the Marlin firmware controls whether endstop (or limit) switches are honored outside of the homing cycle (the series of operations done to home the machine). The default setting in Marlin is for homing only. This is fine since the motors will most likely skip steps before they damage the physical machine.
Other firmware and other machines may choose have limit switches active all the time in order to prevent the machine from damaging itself if it’s sent a bad command or something else unexpected happens.
(edited to add this final paragraph) But the motors in the MPCNC machines aren’t strong enough to do damage to themselves. The motors just skip steps rather than tearing the machine apart.
what is better, if endstops are only for homing or also outside of homing? it would seem to me that also outside of homing would be much better idea. I would hate to destroy steppers. Maybe it never goes outside of “borders” so no demage is done, but I have 0 experience with this so far
You basically can’t destroy stepers. And if you start at 0/0 and did not program anything stupid that goes into negative territory, it should not happen (which does not mean it doesn’t, I had it happen to me because I didn’t take care).
For 99.9% of MPCNC users running Marlin, the sole purpose of endstops is to square the machine so that if you cut a rectangle, you don’t get a parallelogram. The process goes:
Mount your stock somewhere on the spoil board
Home your machine
Electronically navigate to the origin position of your cut as you authored it in CAM. Typically, it will be the lower left corner or center of your stock.
Reset the machine origin to this new position.
When you execute step #4 and reset the origin, Marlin no longer considers itself homed, and soft stops are disabled. This means that soft stops (even if enabled) to limit machine movement are useless for most MPCNC use cases.
It is possible to do more sophisticated things with homing, endstops and origins using workspaces. This includes having soft stops working during cutting, but you would have to enable soft stops and define the bed size of your machine (requires reflashing).
For much of the stuff I do personally, I don’t even home/square my machine. I just push the axes against the stops and then drag my router to the home position of the stock. Typically, I only home if I am making something that has multiple parts that must fit together.
As for damage to the machine, Philipp is right, the motors are just not strong enough to so any damage, and the ugly sound they make when stopped is non-destructive. The worst thing that has ever happened to me in this area is that I broke a stop block once (quick 3D print to fix).
The skipping steps sounds like grinding gears, but there are no gears in the stepper motors. They are just a ton of magnets aligned on an axle. When the skip happens, the axle very quickly lines up with the next set and that fast acceleration sounds bad. But it is not breaking anything.