Snapping is unpredictable, it often seems to snap to random positions while refuse to snap to actual elements such as image borders or guides. Also, snapping looks at the cursor position, not the bounding box. This makes it very hard or impossible to snap objects' edges to anything is you would need to move the object while holding it by its edge/corner. Finally, apparently there is no easy way to enable/disable snapping altogether, forcing one to go and enable/disable all the "snapping to" options one by one.
These are valid concerns. Whoever is able to, please consider changing importance to wishlist.
*** Bug 398436 has been marked as a duplicate of this bug. ***
Hi. Just wanted to add some thoughts based on the report description. Issue 1 (Wish) - Currently, on "Paint" layers, Krita snaps the "mouse cursor", while on Vector layers it snaps the object(s) selection "active anchor". Would be possible to add snap the "active anchor" also on Paint layers (transform bounding box)? And let choosing between the two ways: cursor or anchor? Issue 2 (Usability) - "View > Snap to" options, apart from "guide, grid, image bounds, image center", are for Vector layers only. Would be possible to split the submenu option list by using separators? like i.e.: |GLOBAL| guides, image bounds, image center |PAINT ONLY| grid (Bug 390952) |VECTOR ONLY| orthogonal, node, extension, intersection, bounding box. Issue 3 (Usability) - "Snap to" options are currently buried in a submenu. Would be possible to expose them all in a docker (Tool Options or Grid and Guides)? It would make it easier to manage them and to know which options are enabled at any moment without having to reopen the menu.
(Issue 2 - Please, forget about the |PAINT ONLY| bit. I mistakenly confused the linked wish bug, which actually ask for "snap to pixels" with the "snap to grid" feature, which is working well on both Paint and Vector layers).
I'd like to mention that vector point end handles also snap to the cursor position they are dragged from instead of the exact handle position. The curve points themselves snap correctly. Thanks to the person making me aware of it: https://forum.kde.org/viewtopic.php?f=139&t=162161&p=421496