This is part of a notational convention that evolved with J.J. Sylvester (1853) in his study of algebraic invariant theory.
The distinctions represented by the use of superscripted or subscripted indices only become important when there is more than one coordinate system in play.
In fact: "when there is a fixed coordinate basis (or when not considering coordinate vectors), one may choose to use only subscripts"
In cases where there are multiple coordinate systems under simultaneous consideration, there will typically be a reference axis (often this has the standard basis), and a coordinate axis (often this has a non-orthogonal basis, e.g. an oblique coordinate system).
The conventions for a vector (array of elements) and their indexing depend on how their values are obtained, as the following image (from Mathview's animation) illustrates:
CONTRAvariant components (superscripts) of a vector are obtained for example by parallel projection of the vector onto the coordinate axes. So in this example, contravariant components would be the familiar coordinate values. CONTRAavariant components, by definition, change as the coordinate axes change. They can be remembered as superscripted by considering the third letter 'n' whose rounded edge can be taken as pointing up.
COVariant components (subscripts) are by obtained for example by orthogonal projection of the vector onto the coordinate axes when these are themselves taken as unit vectors given in the reference frame. This is the usual dot-product of vectors against unit vectors in the coordinate directions. The components can be remembered as being subscripted by considering the third letter 'v' to point to its use. COVariant components, by their definition, change as the reference axes change, since that changes the values of the unit direction vectors of the coordinate axes which are being dot producted against.
In abstract mathematics terminology, the covariant vector is a linear functional that lives in the space dual to the contravariant vector, and, when used in an inner product with a vector (primal space) generates a scalar. In physics, this is expressed in the famous Einstein notation convention for representing length invariantly regardless of coordinate systems by taking the inner product of a covariant and contravariant vector (called contraction).