Some people like schemes too much. Others don’t like them at all. Here is my view on how to like schemes for the right reasons.
There are several good things about schemes. I usually study varieties over a field, but there are various ways one can encounter more general schemes in the course of a given problem.
One good thing is the way schemes automatically include information about “multiplicities”. For example, given a polynomial f in one variable over a field k, we would like to say that the number of zeros of f is equal to the degree of f. But there are obvious obstacles to that statement. For example, the polynomial x2+1 over the real numbers actually has no roots in R, so we are really talking about roots of f in some algebraic closure of k. But even then, you have to keep track of “multiplicities” for the statement about deg(f) to be true; e.g., the polynomial (x-1)2 has a root at x=1 “with multiplicity 2”.
Both these complications are avoided by the language of schemes. In that language, the zero set of a polynomial f(x) of degree d over a field k is always a 0-dimensional closed subscheme of the affine line A1 over k, and that subscheme always has degree d. This shows two different good aspects of the notion of a scheme. First, a subscheme Y of a variety X determines not only a subset Y(k) of X(k) (where X(k) means the set of solutions in k of the equations defining a variety X), it also determines a subset Y(E) of X(E) for every extension field E of k. (For example, the subscheme Y of the affine line over the real numbers defined by the equation x2+1 = 0 is not the empty scheme, even though Y(R) is the empty set, because we can see that Y(C) is not empty.) Second, a subscheme Y of a variety X contains more subtle “nilpotent” information than just the subsets Y(E) of X(E) for field extensions E of k. For example, the subscheme Y of the affine line over the real numbers defined by the equation (x-1)2=0 is different from the point Z defined by x-1=0, even though Y(E)=Z(E) for all field extensions E of the real numbers. We picture Y as a “fat point”, a point together with an “infinitesimal neighborhood of length 1”.
In this simple situation of polynomials in one variable, one could live without the geometric language of schemes. But for the same phenomena of “multiplicities” and so on in higher dimensions, the language of schemes is unavoidable (and useful). For example, consider the intersection of two smooth curves at a point in a smooth surface. If they intersect transversely, then the intersection (as a scheme) is “reduced”, i.e., it’s just the point. But if the intersection is not transverse, then the intersection is a 0-dimensional subscheme of degree greater than 1, i.e. it’s a “fattened” or “non-reduced” version of the point. (This is relevant even in the familiar situation of varieties over the complex numbers.)
The standard textbook on schemes is Hartshorne’s Algebraic Geometry. Unfortunately the actual definition of schemes is done in a very dry way there. Still, there is a huge amount of illuminating stuff in that book: the informal essay introducing schemes on pp. 55-59 is good, many exercises are interesting, many good examples and so on. By the end of chapter II on schemes, he gets to crucial geometric ideas like divisors (section 6) and differentials (i.e., the tangent bundle, or more precisely its dual). Chapters IV and V on curves and surfaces are appealing and (I think) can be read before going through all the earlier parts of the book. Appendices A, B, C introducing more advanced topics in an informal way are even better: don’t miss these.
There are by now lots of other books introducing schemes, although none has displaced Hartshorne. I have heard good things about Mumford’s Red Book of Varieties and Schemes, but I haven’t read it myself.