i don't really understand the 'why' of anything blender does
When setting the parent via the Object Properties panel, the Parent Inverse matrix is always reset. This can cause an unexpected jump in the object’s position. To avoid this, use Ctrl-P to set the new parent.
like am i reading this correctly to mean that ctrl+p specifically doesn't clear the parent inverse matrix? like. hitting ctrl+p opens up a subset of the options available in the object -> parent menu, and all of those items have a little 'ctrl p' note next to them. you'd reasonably expect that those items would do the exact same thing regardless of how you select them, right? nope!! apparently there's this other piece of object state that's different, that you would never know about except if you read this one specific docs page!
add enough weird special-cases like this and using a thing starts to feel like it's all just completely arbitrary
case in point, it seems like setting a curve hook by selecting all a curve's points and going to control points -> hooks -> hook to selected object does something different than selecting the curve and going to modifiers and adding a hook-body rig, even though the former appears to just be a shortcut for the latter. but the act of having selected curve points is used to group them somehow? maybe? i might be wrong and they're identical but there's no way to actually tell b/c the interface is so unclear & indeterminate. is the vertex group field in the hook modifier autopopulated with the selected curve points?
i'm not actually asking a question b/c i don't expect anybody to know that off the top of their head. just. blender seems very confusing