When one snap is essentially a specific element of another, the more specific should take precedence.
For example, when both endpoint and edge snaps are turned on, endpoint should take precedence over edge when hovering near an endpoint.
Since an endpoint is essentially a specific part of an edge, wherever there is an end, there is an edge that max tries to snap to, and since the edge is infinitely larger, you're lucky to find the endpoint. You can hover off, but close to, the object so the very end is closest to the mouse and is found, but then since you're not hovering on the object the move tool doesn't even work, which is half of the reason for using snaps in the first place.
Every time I want to snap to an end, I have to turn off my edge snap so it won't interfere, which gets frustrating very quickly. No other 3d software I've used has this problem.
A fix would be easy and save so much frustration.