Here is a UML class diagram showing the relationships between the classes that store animation-related data:
Classes that store animation-related data
KFbxAnimStack: The animation stack is the highest level container for animation data. An animation stack is equivalent to one take of animation.
An animation stack contains one or more animation layers. If you are doing blended animation, you need more than one animation layer; otherwise, you need only one animation layer.
KFbxAnimCurve: an animation curve (often called a function curve or FCurve) affects how an animatable attribute of an FBX object varies with time. In FBX, attributes are implemented as FBX properties.
An animation curve can be connected to many curve nodes. Accordingly, one animation curve can animate many properties of many FBX objects.
KFbxAnimCurveNode: An animation curve node is the connection point between animation curves and FBX properties. To connect an animation curve to an FBX property, connect the curve and the property to one curve node.
A curve node can be connected to only one property of one FBX object. Properties such as KFbxNode::LclTranslation contain more than one value (X, Y, Z). If you create a curve node by calling KFbxAnimCurveNode::CreateTypedCurveNode, you must specify a property of the data type you need, e.g., LclTranslation; function CreateTypedCurveNode() will create a curve node with the necessary animation channels, in this case, channels X, Y, and Z. The curve node will not actually be connected to the specified property, however. See the Animation sample program in <yourFBXSDKpath>\examples\Animation\.
FBX SDK needs animation stacks and animation layers to support blended animation, a feature of Autodesk MotionBuilder, Autodesk Maya, and other applications.
If you are not familiar with blended animation (and related concepts such as blend weight and blend modes), the Maya user documentation has a good introduction.