What is the difference between the bind pose and the reference pose?

The skeletal mesh asset stores a skeleton.
The skeleton asset also stores a skeleton.
The animations are authored against the skeleton asset.
Yet if you export the skeletal mesh outside unreal it still comes with a skeleton and set of bones.
What is the difference between the skeletal mesh’s skeleton and the skeleton’s ‘skeleton’, if any?
Also what is the difference between the bind pose and the reference pose?
I have a sneaky suspicion that the skeletal mesh uses the bind pose and the skeleton the reference pose.

Please disambiguate the terms and help me understand these skeletal animation concepts and how they’re used in unreal engine.