I'm partial to NC 3-wire inductive proximity switches. I believe the trick with these is to mount them in a way that the trigger/flag crosses the sensing volume rather than approaches. Put another way, if you think of the proxy like a flashlight, you want something (flag) to cut the beam from the side rather than moving the flashlight towards the device you're trying to sense.
I've read they're more repeatable this way. And you aren't going to smash the proxy if something goes wrong and tries to hit the hard stop. And the NC circuit means if a wire breaks or something, the controller will see it as triggering the limit (fail-safe).
On the other hand, I've also used $0.25 cheapo microswitches as limits on a couple of low-budget builds. They weren't repeatable to a 'thou, but that didn't matter much for a stepper plasma and I could run them at 24vdc for some noise immunity (at the cost of the contacts burning out sooner).
As with everything, it's a cost-performance decision. If you have a table-mounted ATC, tool length probe, or specific fixturing you may wish to have very repeatable limits. Otherwise, anything that gets you in the ballpark and doesn't fail frequently should be sufficient.