Can someone explain to me what Category theory actually contributes to mathematics beyond the contents of abstract algebra, graph theory, and set theory? Because every interesting result I've seen just looks like it comes from those other branches with some different terminology. Does it actually lead to any unique or synergistic results that the others fail to produce with their own axioma?

 It's more helpful to view category theory as a language.Most undergraduates learn mathematics in the language of sets. If they're doing algebra, then the underlying structures of their groups, rings, etc. are always sets. Same for topology and logic (e.g. classical model theory). An extreme example of this set-theoretic thinking is defining the real numbers in terms of Dedekind cuts.Category theory, very slowly, changes this perspective. If you study this for years, you will come to realise there is more to mathematics than sets. And your way of thinking will shift. You will learn to ask different questions. For example, instead of defining things in terms of their underlying set (often breaking symmetries), you will ask 'does it have a universal property?' and so on. Note, there are still tons of reasons to use sets / ZFC, even when working with categories mostly. But I do not want to get into that and it's irrelevant for the point I'm trying to make.Final note: the 'language of sets', i.e. the language of undergraduate mathematics, is very different from set theory. 'Set theory' is like the language talking about itself. The same goes for pure category theory.
 Set theory was developed to make analysis “rigorous” by the standards of 19th century mathematicians, who were probing the edge cases of the more intuitive (or maybe handwavey) assumptions from the 17th–18th century. Here’s Rudin to explain: https://www.youtube.com/watch?v=hBcWRZMP6xsIn the 20th century it became trendy to (a) try to base everything on set theory, (b) write mathematics in a very dry and formal style, taking inspiration from the Bourbaki project.My impression is that undergraduates are taught in the language of sets partly because it is serviceable for describing the subjects they are trying to learn (esp. analysis) but also more importantly because mid-20th century mathematicians who set up the curriculum we are still using wanted to thoroughly teach (indoctrinate?) undergraduates the trendy style of the time.Personally I think it has been a mixed bag; the style is a big turn-off to many people, and ends up chasing people out of mathematics who could otherwise make valuable contributions. The people who remain seem to mostly like it okay though. YMMV.
 I have some problems with this comment.First, why the scare quotes around "rigorous"? Set theory literally did make the foundations of analysis more rigorous.Second of all, we don't use set theory because it's "trendy" or because we want to "indoctrinate" undergraduates, we use it because it's the best known foundation for mathematics. If there was something less complicated or annoying that worked, we'd use that instead. But as far as we know, there isn't, and there are good reasons to believe we won't find something better.
 Your observations strike a serious chord with me, because the first class I took where a professor wielded set theory like a ruler to the back of students' hands was exactly the point I realized that mathematics was not my calling.But I've come to understand that I was not realizing that I didn't like mathematics or thought it was too hard, but instead that if I made that my life's work, I'd be working with many more people like that, rather than the people I wanted to - bright and creative, yet kind and humble.I don't think set theory or any other set of tools is the problem behind potential academics getting turned off. It's the people, and the culture of glorified monkhood.
 Note that "sets" and ZFC are not the same thing - ZFC is simply one set theory among many. In fact, structural set theories like ETCS ("Elementary Theory of the Category of Sets") or SEAR ("Sets, Elements And Relations") are even more cleanly suited to typical undergrad mathematics than ZF(C), while also being easier to characterize categorically.
 New to me. Thanks. A jumping off point https://math.stackexchange.com/questions/331567/alternative-...
 Very good point. To add on this, even category theory is often taught in the language of sets and classes (“A category is a class of objects with a set Hom(X,Y) of morphisms for each pair of objects, etc.”)It is possible to use categories as basic building blocks instead if sets but, in my anecdotal experience, this us not what the majority of graduate programs in Mathematics do.It will be interesting to see whether this will change in the next 20 yea.
 They don't do it for good reason: set theory is basically a strictly better foundation for mathematics, and you have to ape all the set theoretic constructions when doing various things anyway (e.g. constructing the real numbers), so it doesn't buy you anything.This issue has been litigated extensively, and in my view successfully, by Harvey Friedman on the Foundations of Mathematics mailing list, if you want to check its archives.
 OK, but this doesn't answer the question. You intimate there are benefits but never say what they are.The vast majority of mathematicians go their entire lives without using the word "category" in a paper. What are they missing out on?
 Much of theoretical computer science uses categorical methods, for example, as semantics for type theory. In that field, such techniques are often more natural than set-theoretic ones due to issues of computability, decidability, etc. So at the very least, much of that research as originally written would be inaccessible to a non category theorist. Whether that field counts as mathematics and if it does whether it is worth missing out on depends on taste of course, but an example would be 'homotopy type theory' https://homotopytypetheory.org
 HoTT is a strictly worse foundation for mathematics than ZFC, and in the end has to end up copying a bunch of the usual constructions anyway (like defining the real numbers). So this is not convincing.One amusing problem is discussed here: https://mathoverflow.net/questions/289711/defining-sun-in-ho....But suppose HoTT were equally good. What compelling reason is there for a working mathematician to learn it? We already know about set theory, and it meets all of our needs.
 Honestly; I'm not sure; I'm a working computer scientist, not a working mathematician, and I use a proof assistant (Coq) all the time to have confidence that the proofs I write are correct (and more and more this is a requirement for publication in CS conferences). I want HoTT to succeed because it would turn some the axioms I must assume in the current Coq proof assistant into theorems, with significant implications for 'proof engineering' at scale (eg, verifying an OS kernel or compiler or database). When I read the math over flow post my emotional response is gladness that I can't accidentally conflate a topological space with an infinity groupoid. Many of the HoTT researchers are mathematicians (including the late Vladimir Voevodsky); presumably, the HoTT book (which I understand is available online) can give you a better answer than I can from the perspective of a working mathematician.
 I can't comment on the CS stuff with any degree of expertise; the question was from the perspective of a mathematician wanting to know about mathematical applications. And not to pick on you, but again and again I ask category theory people to give me concrete examples, and again and again I get responses like yours, which amount to fairly vague gestures at theoretical purity. Contrast this with something like Galois theory. If an undergraduate asks me why Galois theory is important, I can point to about a half-dozen important problems (in terms of their place in the theory and in history) that are inaccessible without the concepts of Galois theory. For those problems, Galois theory not just another language or a cool way of looking at things, they are (as far as I know) intractable without it. I have never seen a category-theoretic example as compelling outside of algebraic topology and adjacent fields.I also think it's important to point out for anyone reading that one certainly doesn't need category theory to do proof verification. Some other options, and some gripes with the Coq community along the lines of the previous paragraph, are listed here: https://xenaproject.wordpress.com/2020/02/09/where-is-the-fa....Also, if your foundational theory doesn't allow me to (easily) define a fundamental geometric object like SU(n), then it's just a non-starter. Again, I have not been able to find a reason why we ought to endure such pain to do simple things when we already have a perfectly good foundational theory. Re: the HoTT book, it is precisely because I've looked at the book that I have these questions.
 From a programming perspective I think there are a couple contributions:- Category theory has a number of very intuitive looking graphical notations which nevertheless translate to very exact algebraic expressions. This is pretty dang nice. Category theory is a road to a very principled formulation of things that are already done in dataflow languages, tensor diagrams, and UML and things like that. These graphical languages are a reasonable user facing interface.- Empirically in mathematics, category theory has been found to be a flexible and "simple" language to describe and interconnect very disparate things. In programming terms that means that it is a plausible source of inspiration for consistent interfaces that can do the same.- Point free DSLs are really nice to work with as library/compiler writer. It makes optimizations way easier to recognize and implement correctly. Named references are phantom links attaching different points in a syntax tree and make it hard to manipulate them correctly. In slightly different (and vague) terms, category theory gives a methodology to turn abstract syntax graphs into trees by making all links very explicit.I can't comment much on what category theory contributes to mathematics, but I think there are similar points. I think category theory can make precise analogies between extremely disparate fields like logic, set theory, and linear algebra. I think categorical intuitions lead to clean definitions when specialized to some particular field. Combinatory categorical logic does make some aspects of logic less spooky.
 Can you give an example of some of these, because I'd love to learn more.
 Many results in algebraic geometry about rational points on curves are impossible to prove without category theory. Here's a pop-sci kind of take on it from quanta that I like. The "bridge" between areas of mathematics they talk about are functors between categories. Also many proofs of the theorems you encounter in an undergrad level abstract algebra course are much easier using categories. Also, just from the tautological stand-point, if you can prove something about multiple types of mathematical objects at once using category theory, then you don't need to prove it for each of those objects individually.
 None of those results would be impossible to prove without category theory, and all are easily translatable to non-category theoretic language. The use of categories doesn't provide any substantive input, it's just a useful shorthand. (I might have to make an allowance for the use of derived categories here, but I think I could still pull it off by being sufficiently concrete.)Further, none of the proofs from an undergrad abstract algebra are going to be "easier" with categories. (Show me one?) At the end of the day, you have to prove the same propositions. Categories just give a different and sometimes more convenient language.
 I'd love to see a proof of Fermat's or Mazur/Tate without using any category theory. I suppose you could define lifts between categories by being explicit about the morphisms and functors but that's just category theory without the name.As for the second part, it's not that one single proof or another is easier with category theory. But the entire presentation is very elegant. Thinking of Aluffi Chapter 0 where he uses universal property extensively to simplify a lot of proofs. My personal favorite presentation of Algebra, but everyone has an opinion here.
 Well yeah, that's my point re: the number theory. It's a linguistic gloss that doesn't do much substantive work. Hatcher's book on Algebraic Topology, to give a random example, is able to cover lifts perfectly well without any category theoretic terminology. I'm all for good notation but the hype on certain HN stories seems really out of control.Re: Aluffi, it's a fine book, but I'm not sure I'd teach it that way, because I'm not sure what introducing universal properties and so on really buys you at that level. I guess it make sense if you commit to getting to the end with the abstract perspective on homological algebra. But for a grad student just looking to pass his or her quals? The discussion in Hatcher is concrete, motivated, and involves zero category talk.
 I love Hatcher's book so I can't disagree with you. (Although he does have a section on category theory in chapter 2, but never revisits it again). But doing anything with sheaves and schemes without categories would feel a lot like doing linear algebra without matrix notation and just using lots of double sums. I also have a copy of JP May's a Concise course in Algebraic Topology next to me and I also love the presentation there. (Although I would absolutely never want to use that book as a first course haha. Hatcher is a classic for a reason.)Being slightly facetious here as obviously Griffiths and Harris uses sheaves extensively and no category theory.
 Yeah, I totally agree.It's just I see a lot of category hype on here and I want to yell that it's mostly just linguistic! It's not some deep or scary thing. The analogy to matrix notation is really good.
 Oh yea, the computer science side of things seems to rename anything related to abstract algebra as "category theory."
 Every branch of mathematics formalizes and studies some underlying phenomena. For example, in calculus, it's rates of change: their division into instantaneous changes (derivatives) and their accumulation into changes over time or space (integrals). In topology, it's properties like continuity and connectedness.Of course, all mathematics is abstraction, and all abstractions are leaky. Calculus just chooses not to study non-differentiable and non-integrable functions. Topology chooses not to study discontinuous transformations, and abstracts away the spatial metric.In category theory, the property under study is compositionality: the property that given a path from A->B, and another from B->C, you have a path A->C. Of course, anyone who's ever written a computer program knows that this is not as guaranteed as it sounds. All abstractions are leaky, and if your "paths" are functions, in the programming sense, then the second one could throw an exception, leaving you high and dry with the intuitive transitive property being straight-up wrong. Likewise, if your "paths" are mathematical functions, composition can preserve continuity (f . g for continuous f and g is continuous), but if either one is discontinuous, the result will fail to be continuous.So category theory abstracts away the "exceptions" and "discontinuities" by ruling them illegal: in a category of topological spaces and continuous functions, everything, by construction, preserves continuity. We thus have an entire field of mathematics devoted to asking and answering the question: "what sorts of properties are preserved under transitive composition in what sorts of settings?"
 Thank you. I'm finding it fascinating.
 Among other things it contributes a precise definition of the notion of products and sums of algebraic spaces, as well as generalizations and proofs of their basic properties.
 What is set theory useful for beyond the contents of arithmetic, algebra, calculus, etc...Category theory is useful for studying mathematical structures in general — by its nature, it’s results are going to be fairly abstract and general, but that doesn’t make it useless.
 There's no doubting the important role of category theory in modern mathematics. Less clear to me is why programmers seem so keen on learning category theory. I studied a fair amount of abstract algebra in grad school and never once have I found it useful in my day to day life as a programer. At best, I can say that if you've mastered category theory then you know how to think abstractly and modularize complicated concepts. But there are many less circuitous routes to obtaining those skills that don't involve understanding what a monad is. The moment I'm reading a programming tutorial that starts talking about monads and monoids is the moment I go read some other tutorial that actually teaches a useful skill.
 You have basically the right idea, despite what some category theory boosters on this site will say. It's a very useful language for algebraic topology, algebraic geometry, and related fields, to the point where working in those subjects without its terminology would be exceedingly clumsy. Otherwise, its value is inversely proportional to your distance to those areas, more or less.
 It makes certain kinds of representation theory easier to deal with. Rather than just group homomorphisms to automorphisms of a vector space (or ring homomorphisms to endomorphisms of a vector space) you can more generally study functors from a category to Vect, the category of vector spaces. This point of view has proven useful in the study of knot invariants like the Jones polynomial. In this case, there is a category of framed tangles and a functor to something called the representation category of quantum sl2, which is a fancy kind of category of vector spaces.
 “Diagram chasing”, which is the standard method of reasoning in Category Theory, turns out to be very useful in other branches of mathematics, such as topology. (By the way, do not underestimate the power of abstract algebra, it’s widely used in the rest of mathematics, and its applicability to computing is more obvious.)