What are cohomology rings good for?
The main idea behind the cohomology ring is that you have an extra structure that allows you to say more about your space. In some instances, you can use it to say that two spaces which have isomorphic (co)homology groups are different because they have different cohomology rings, and in some instances you can infer information about the cohomology groups by knowing that there is an additional structure.
For an example of the first case, the cohomology of real projective space is $H^*(\mathbb{R}P^n;\mathbb{Z}/2\mathbb{Z})\cong \mathbb{Z}/2\mathbb{Z}[x]/(x^{n+1})$. This distinguishes projective space from a wedge product $\bigvee_{i\leq n} S^i$, because the multiplication in the corresponding cohomology ring is trivial.
For an example of the second case, suppose that a space has a product on it satisfying some mild conditions, making it an H-space. Then the cohomology ring will be a Hopf algebra,. If the space is also a connected, compact manifold, then (taking cohomology over a field of characteristic zero) one can use the classification of connective, finite type, commutative hopf algebras (the Milnor-Moore theorem) to say what the ring looks like. In particular, it must be the alternating algebra on odd-degree generators. This is enough to show that there are no odd-dimensional analogues of the quaternions.
I am blanking on truly simple examples which exemplify the power of cohomology rings, but it should at least be plausible that, just as you can say useful things by knowing that a set has a group structure, you can say useful things by knowing that a graded vector space has a graded-commutative ring structure.
One other application worth mentioning is that the cohomology ring (plus Poincare duality) allows us to study intersections in an algebraic manner.
Suppose that $M$ is an $n$ dimensional compact oriented manifold, and that $X$ and $Y$ are oriented submanifolds with $\dim X + \dim Y = n$. If we perturb $X$ and $Y$ slightly (so that the intersection is transversal, they will intersect at discrete points, and if we count orientation and multiplicity correctly, the number of intersection points is independent of our perturbation. We denote this intersection number by $I_M(X,Y)$. This gives interesting topological invariants. For example, if we embed $X$ in $X\times X$ via the diagonal embedding, then $I_{X\times X}(X,X)=\chi(X)$ is the Euler characteristic of $X$.
It turns out that we can describe the intersection numbers in terms of the cohomology ring. Given $X$ and $Y$, there are corresponding cohomology classes $[X]$ and $[Y]$ (called fundamental classes), and pairing the $[X]\cup [Y]$ with the orientation cycle in the top degree homology spits out a number, which is exactly the intersection number of $X$ and $Y$.
This has also been applied to algebraic geometry with great success. The algebraic geometer in you may want to look into intersection theory/intersection cohomology.
One reason that the cohomology (and homology, and homotopy group) functors are so important is that they give a means of testing how similar two spaces are. For instance, the $\pi_1$ functor suffices to distinguish $\mathbb{R}^1$ from $\mathbb{R}^2$, up to homeomorphism (by removing a point); more generally, the $k$th homotopy (or homology) group will distinguish $\mathbb{R}^k$ from $\mathbb{R}^m$, $m > k$.
Now cohomology, homology, and homotopy groups (and K-theory and other cohomology theories) are all functors from some category of spaces to some algebraic category. Presumably, the idea is that the algebraic category will be easier to think about -- one can compute explicitly, at least if the functor applied to nice spaces produces simple results (which often happens).
At the same time, if these are to be a powerful tool at distinguishing spaces, we want these functors to take values not in the simplest category (e.g. the category of sets) but a category with more structure: groups, or, better, rings. The cup-product shows that the cohomology functor takes its value in the category of rings.
This means in practice that if you have two spaces with similar looking cohomologies as abelian groups, you may still be able to tell that they are different if the ring structures are different. As an example, you can see that complex projective space $\mathbb{CP}^2$ and $S^2 \vee S^4$ are not homotopy-equivalent, even though their homology and cohomology groups are all the same. The reason is that the cup-product is not trivial in the first, while it is trivial in the second.
So the more algebraic structure you can put on a functor from spaces to sets, the finer this functor will be as a tool to distinguish spaces. Cohomology has this nice ring structure, but in fact it has more: it turns out that the cohomology ring (with $\mathbb{Z}/2$-coefficients) is a module over the Steenrod algebra.
Just to throw out another example of the use of cup-products, there is an invariant called the cup length, which is the largest $k$ such that $\alpha_1\cup\ldots\cup \alpha_k\neq 0$ for some cohomology elements $\alpha_i$ of degree $\geq 1$. The cup length gives a lower bound for the so-called Lusternik-Schnirelmann category.