Semantics map a parameter to vertex or pixel shader registers. They can also be optional descriptive strings attached to non-register parameters.
typedef struct D3DXSEMANTIC {
UINT Usage;
UINT UsageIndex;
} D3DXSEMANTIC, *LPD3DXSEMANTIC;
Semantics are required for vertex and pixel shader, input and output registers.