raising and lowering indices
Raising and lowering indices is the operation that uses a metric (an inner product) to convert between vectors and covectors — between upper and lower indices — without changing the underlying geometric object. It is the index-calculus face of the fact that an inner product lets you identify V with its dual V* canonically.
Lowering uses the metric g_ij: from a vector v^i you build the covector v_j = sum_i g_ij v^i. Raising uses the inverse metric g^ij: from a covector w_j you recover the vector w^i = sum_j g^ij w_j. Because g^ij is the inverse of g_ij, the two operations undo each other, and you can slide any index up or down at will as long as you keep a metric handy. Physicists call this index gymnastics.
In a standard orthonormal basis the metric is the identity, g_ij = delta_ij, so raising and lowering do nothing visible: components of a vector and 'its' covector are numerically equal. That is exactly why in a first linear-algebra course you never noticed the distinction between row and column vectors as separate species — the standard dot product was silently identifying them.
The distinction roars back the moment the metric is not the identity: in curved spaces, in relativity with the Minkowski metric (where raising a time index flips a sign), or whenever you use a weighted inner product. Then v^i and v_i genuinely differ, and you must track which is which. The clean statement is Riesz representation: the metric supplies the canonical isomorphism between V and V* that makes raising and lowering well defined.
The metric lowers an index, its inverse raises one; together they are inverse isomorphisms V <-> V*.
The 'musical' names: lowering an index is the flat operation (vector -> covector, written v with a flat), raising is the sharp operation (covector -> vector). Gradient and differential are a classic pair related this way — the gradient is the sharp of the differential under the metric.