Contravariant or "tangent" vectors lie parallel (tangent) to the axis in question. The e_x vector lies parallel to the x-axis, for example.
Covariant or "cotangent" vectors lie perpendicular to all the other axes. In 3D, take the plane defined by the y and z axes, and the vector e^x is perpendicular to that plane.
In cartesian coordinates, covariant and contravariant vectors aren't different, but in more general, curvilinear coordinates or non-orthogonal frames and curved spaces, the two types of vectors become different and have to be kept track of.
One of the main concepts that is introduced in GR is the invariance of physical laws under arbitrary coordinate transformations. This is not actually unique to GR, but it commonly comes into play here because the concept of spacetime allows for even time derivatives to be treated under this theory. The idea is as follows:
Often, the position vector is just called x =x^0 e_0 + x^1 e_1 + x^2 e_2 + x^3 e_3. We don't say what kind of coordinate system this is (whether it's cartesian, spherical, or something else). But in general, if we want to change coordinates, we introduce a new position vector x' = f(x), where f is some function. For instance, converting between cartesian and polar coordinates, you might do something like
x' = \sqrt{(x^1)^2 + (x^2)^2} e_1 + \arctan \frac{x^2}{x^1} e_2 = r e_1 + \theta e_2
This is a simple example of a 2D transformation. At any rate, an arbitrary transformation has a Jacobian, which relates the partial derivatives of the new coordinates to the old coordinates: the Jacobian \underline f is given by \underline f(a) = a \cdot \nabla f(x), where a is some vector to be transformed. The vector \underline f(a) = a' gives the transformation of a tangent vector. This is usually written in index notation as
a'^i = a^j \frac{\partial x'^i}{\partial x^j}
The prototypical example of a tangent vector is the four-velocity u, from which we get the transformation law u' = \underline f(u).
On the other hand, there are cotangent space objects, one of which is the derivative \nabla. One can prove that \overline f(\nabla') = \nabla, where the overbar denotes the transpose, and this in general gives the transformation law for objects in the cotangent space.
So you can see that under arbitrary coordinate transformation laws, we have these two different kinds of objects--covariant (cotangent) vectors and contravariant (tangent) vectors. In general, one converts between the two using the metric of the space. There is an operator \underline g(a) that takes a tangent vector a and converts it into a cotangent vector, and the inverse does the opposite. This gives the flexibility to work with vectors in the most convenient space as appropriate.
As for the Einstein equations, usually they're used to get a solution for the metric and from there various results are derived. The different time dilation on the Earth compared to satellites in orbit, for instance, is calculated knowing that the Earth yields a certain solution to the Einstein equations in its immediate neighborhood and how that affects the perception of time at various heights.