As Martin says, it takes some time to get used to it, but sometimes snapping gets unpredictable. It doesn’t always happen, but Blender gets confused and you’re like ah man, snapping got crazy again, so you have to switch the snapping point, hack a setting or two to get some usefulness back. So it’s a mix of lots of things is what I’m saying, just so you know. It’s a bit hard to explain by text, but you get used to the quirkiness of snapping, it works 90% of the time though.