What is category theory useful for?
Okay, so I understand what calculus, linear algebra, combinatorics and even topology try to answer (update: this is not the case in hindsight), but why invent category theory?
In Wikipedia it says it is to formalize. As far as I can tell, it sort of generalizes a bunch of fields in mathematics, like in topology, graphs and groups we have isomorphisms and automorphisms and homomorphisms, it seems to me like it just finds a bunch of results that are true to these functions in a bunch of disciplines. But why would generalizing that be of use? I mean, wouldn't it be easier to prove them specifically in each of the important disciplines?
Solution 1:
Category theory serves several purposes. On the most superficial level it provides a common language to almost all of mathematics and in that respect its importance as a language can be likened to the importance of basic set theory as a language to speak about mathematics. In more detail, category theory identifies many similar aspects in very different areas of mathematics and thus provides a common unifying language. The fact that almost any structure either is a category, or the collection of all such structures with their obvious structure preserving mappings forms a category, means that we can't expect too many general theorems in category theory to be really interesting (since anything you can prove about a general category will have to be true of almost everything in maths). However, some general truths can be found to be quite useful and labour saving. For instance, proving that the tensor product of modules is associative up to an isomorphism can be quite daunting if done by working with the construction of the tensor product. But, if instead one observes first that the tensor product satisfies a certain categorical universal property then the associativity up to isomorphism becomes immediate since in any category any universal construction is unique up to an isomorphism.
Continuing the analogy between set theory and category theory as common languages for maths, the situation is like saying "a set is just a bunch of points. No structure. Nothing. How interesting and relevant can it possibly be to study set theory?". As it turns out it is both interesting and very important to the rest of mathematics. It is very helpful to know the basics of cardinals and ordinals, Zorn's Lemma, and similar techniques to actually prove things in other areas. The exact same phenomenon is true in category theory. True, a category is just a bunch of points and arrows and a composition rule, but it turns out that it is helpful to know the basics of functors, duality, adjunctions, (co)limits and so on when actually proving things.
Less superficially, category theory encourages a shift in attention to what structure is. In category theory the particular inner workings of an object do not matter at all. All that matters is how that object is related (via the morphisms) to the other objects in the category. This is a familiar situation in very classical mathematics. For instance, one can construct the real numbers in many ways (Dedekind cuts, Cauchy completion etc.). These are different objects, but they are essentially the same. Just what this essential sameness means is answered very clearly by category theory: these are different solutions to the same universal problem.
Still along the same theme, category theory allows to make precise the meaning of a certain construction being natural. A classical example is that for a finite dimensional vector space $V$, the double dual is naturally isomorphic to $V$. Of course, $V^{**}$ and $V$ are isomorphic simply because they have the same dimension, but that is not the content of the statement. Usually, something is mumbled about the lack of arbitrary choices, but that is not really satisfactory. Eilenberg and Mac Lane defined categories in order to define functors, and defined functors in order to define natural transformations. The naturality of natural transformations gives a precise definition for natural constructions of all sorts, making it very clear what the naturality means, and how to prove naturality.
More deeply, some questions will never have been asked if it were not for category theory. For instance, given a ring $R$ one can construct the category $R\text{-Mod}$ of $R$-modules. One can ask for two rings $R,S$ when is $R\text{-Mod}$ an equivalent category to $S\text{-Mod}$. The answer is that this holds precisely when $R$ and $S$ are Morita equivalent, a condition that is purely ring theoretic and makes no use of category theory language. But, one could not have asked the question without constructing the categories first.
Category theory is extremely useful for talking about invariants of structure. The classical example is the fundamental group of a topological space. The classical Seifert-van Kampen theorem for computing the fundamental group was rather tricky to prove. However, if simply restated using category theory a very clear path suggests itself and leads to a very simple proof. Modern homotopy theory was radically transformed by category theory, particularly the famous result of Quillen. Quillen described a certain kind of equivalence between two categories: the category of topological spaces and the category of simplicial sets. The importance of this equivalence to modern homotopy theory is immense and leads further the study of $\infty$-categories.
Other areas where categories have had a profound effect are algebraic geometry (the work of Grothendieck) and logic (in the form of topos theory). Since my answer is already getting quite lengthy, I won't elaborate on these topics.
Solution 2:
I won't get into the exact importance of category theory, because I don't know nearly enough to answer this. But I will comment on your last sentence instead, because I find it is important enough to address.
Generalization is the bread and butter of mathematics. The idea is that often there are many similarities between two seemingly unrelated objects, but their difference itself is very cluttering. It makes the analogy hide under the surface and not jump right at you.
When you abstract something by cleaning up the clutter you find yourself with highly concentrated theorems about tons of objects. Sometimes it would have been very hard to prove each case, let alone to come up with the idea to prove these cases. The generalizations can make things easier to see, easier to prove and easier to handle.
That been said, the de-generalization of going back from a very abstract theory to a more "down to earth" one (even if it is a very abstract theory on its own) can be a very hard process as well. Sometimes the abstraction process kills a lot of interesting information that you would like to know. Things like actual calculations or methods to calculate certain values. Restoring the details can be quite the hard work, but the abstraction helps us see what is true to begin with, and that's an incredibly important thing in mathematics, which is often similar to wading down a bog of peat, blindfolded with your shoelaces tied from one shoe to the other. Generalization and abstract theorems are lighthouses.
Solution 3:
At a certain level, mathematician study structures. In a very small nutshell, category theory allows you to talk about structures recurring throughout other disciplines of mathematics; it's a kind of unifying theory. Much like Algebra studies various arithmetic structures and distills their properties without having to worry about whether you're talking about integers, matrices, families of functions, etc. which in the specifics are quite different, so category wishes to distill properties across various disciplines of mathematics.