What are the importance and power of category theory? I know very little about category theory and I want to read about it but not quite in details just to know how to use its principals in differential/algebraic geometry/topology.
I want to know if one cut out all definitions and explanations, exercises etc. what will remain in category theory? I mean what are the importance and power of category theory?
One candidate that I can encounter as power and gist of category theory is Yoneda lemma. Is this the only thing that I should learn from category theory?
 A: "Unfortunately, no one can be told what category theory is. You have to see it for yourself."
Okay, I'm a little bit overdoing it. But I know that I resented the introduction of an unfamiliar, highly abstract language that was violating Occam's razor every couple of words, sounded like the epitome of abstract nonsense and didn't even bother to justify its forceful takeover of my mathematical landscapes.
And then after a while I caught myself re-writing a statement from a book (from which I was taking notes) categorically because it felt too slow and clumsy not to.
I started to grasp some of the intuitions that category theory gives only after I saw them in practise at least once, and even then much remains rather vague to me, until, I hope, I really use the formalism more (at least that's what I tell myself when I discuss with my more category-friendly fellow grad students). I'll try to give some insights, but the above is why I suspect that they will only start to make sense after you see them applied (so Lee Mosher's comment is a pretty good one).
Fonctoriality: many constructions are only useful not because they apply to objects, but to morphisms as well.
Examples: tensor products, fundamental groups, singular homology...
Relativity: under that stupid name hides the idea that morphisms between objects are sometimes as important to study as the objects themselves, sometimes even more (algebraic geometry is the indisputable example, but I remember a lecturer in algebraic topology explaining us that relative homology was an extremely important feature of singular homology, and indeed, we ended up using it a lot).
Generalizing proofs: You have a broad "template" of objects and morphisms with some properties (but that you don't otherwise know much about -- they might not even be sets), you prove some statement, and then this gives you a proof of the same statement for all kinds of objects, where sometimes it could be much more complicated to prove the same result explicitly.
Sheaves: the concept of defining something locally and then glueing the local objects together to make a global object. You really start grasping the idea after you make an umpteenth construction/prove the umpteenth theorem in differential geometry by that very same method.
Limits/Colimits: the notion is so ludicrously omnipresent that I can't even find a good example.
Adjunction: A property of a couple of functors. In a nutshell, defining a morphism from one is like defining a(nother kind of) morphism to the other -- so that's another way to define interesting morphisms. It's also very present everywhere (it's really easy to find examples, although many feel sort of trivial) and has good properties with respect to limits and colimits, but I don't feel like I understand the notion that well.
Universal properties: Instead of giving a direct definition to some object, sometimes it's far easier to describe what are the morphisms to (or from) this object. And often, even if the construction is easy, the description provides another way to define morphisms to (or from) this object. That's what Yoneda apparently tells us (under the abstract-nonsense-looking categorical statement).
Examples abound in abstract algebra (tensor powers, abelianization of a group, completion of a ring/field, differential forms) or in "rigid" sorts of geometry (definitions of $\mathbb{P}^n$ as varieties, definition of a Jacobian or a dual abelian variety). For something more elementary, the universal cover.
External definitions are important: (somewhat related to the previous point) this sounds a little bit lame, but a lot of the most elementary mathematical objects are defined by a purely internal property, for instance "a group is a set with a group law, etc", or "a vector space is finite-dimensional if it has a finite generating set", or "an endomorphism is diagonalizable if there is a basis of the space made of eigenvectors", or "a topology is a collection of subsets of a given set such that blah blah blah". But sometimes, it can be interesting to consider "how an object interacts with the rest of the category" as a property.
Examples: proper morphisms in algebraic geometry. More elementary than that: flat modules, injective modules.
Bigger is better: Under the troll name is the idea that the reason categories work so well is that they're really big. And, more often than we can think, there will be monstruously big objects in there, so big that one would never want to explicitly define them, but they will have properties so incredible (sometimes only seen in their interaction with the rest of the category) that their mere existence makes them supremely useful.
Examples: injective/projective objects. Anything with "derived" in it. In a more "philosophical" way, singular homology (because all the objects are so big and yet you get something tractable in the end), or the usual construction of cohomology classes for vector bundles.
Complexity is not a sin: Related to the above. A lot of categorical constructions can end up being very abstract and/or convoluted, especially if they use some of these "big" objects I was alluding to. This does not mean they will be useless or meaningless. However, you still should expect fundamental difficulties to show up somewhere.
Example: derived functors, cohomologies in general.
I hope I've made at least some sense, but I don't expect anyone to understand all of it before they've seen it in practise -- even several times.
