Animate Bones, or Geometry?

As far as efficiency goes, what is better to do: animate on bones, or directly on geometry.
A character usually will need bones. but say I have a treasure chest. I could just make the lid a separate mesh, and then animate the rotation of the lid geometry. but I dont know if animating directly on geometry is maybe less efficient than using a bone? (and I hear bones are also taking up a lot of processing power)

Bonus question while I’m here…
is there any efficiency gained by parenting geometry to a bone rather than using constraints? or is that just a weird unorganized thing to do that will come back to bite me inside unity.

Did a LOT of experimenting with this. my conclusion: animating on geometry vs bones doesnt make a significant difference. What DOES matter is how many separate skinned objects you are creating. (you get 1 draw call per “Skinned Mesh Renderer” in the scene. and there is one of those per every separate mesh which was attached to a bone/bones.) whether you have 10 bones attached to 10 objects, or 1 bone attached to 10 object, doesnt seem to matter.

I suppose then, I should animate directly onto geometry unless there is a situation where I know I will need to robustness of bones.