It is not that I disagree with anything mathochist has said, but I did want to give my own view of the subject.
At one point, “set of objects” and “set of morphisms” (I prefer to call them arrows) were mentioned. In the very first paper describing category theory, called The general theory of natural equivalences by Samuel Eilenbeg and Saunders Mac Lane, Transactions Amer Math Soc, 1945, no sets are mentioned. They defined a category in terms of objects and arrows sure enough, but made no assumption about these being sets and in the very first categories they described, they weren’t. For example, the category of sets has ALL sets as objects and we know that in standard set theory there is no set of all sets. (There are variations in which they are, but that possibility is not mentioned.) Then there are arrows. some of which compose, namely when the source object of the second is the target object of the first. Composition, insofar as it is defined is associative and each object is assumed to come with an identity arrow whose composition with any arrow (that it can compose with) doesn’t change the latter.
Is there a category of all categories? The concept does not seem to lead to any obvious contradiction. Obviously, you have to do something to prevent the formation of the category of all categories that are not objects of themselves, so some care must be taken. But all in all, I would prefer that there be a category of all category. More precisely a 2-category of all categories, as mathochist has ably described, but that is the topic of a different post.
Somewhat surprisingly, since categories can be defined independent of sets, it is possible to use categories instead of sets as a foundation of all mathematics. It is rather easy to write down, once you understand the lingo, a set of axioms for a category that allow it to function as a category of sets, without having any preconceived idea of what a set is. And since a set, in Zermelo-Frankel set theory is defined somewhat untuititively as a well-founded tree (consisting of its elements, the elements of its elements, the elements of its elements of its elements, …, every down chain terminating in a finite number of steps in the empty set), there are some of us who prefer that point of view. I definitely do.
All this is far from the considerations of computer science. Indeed one way CT is used in CS is via something like Lambek & Scott, mentioned above. But there is an unrelated path, having little to do with logic. Consider the datatype of natural numbers (actually a CS-ist would want one of integers, including negatives, but that is only a relatively minor variant). The datatype of integers can be described as follows. There is an integer called 0 and an integer called 1. There are operations of addition, negation and multiplication with 0 and 1 being the neutral elements with respect to addition and multiplication, respectively. There are some equations, associativity, commutativity, distributivity, that everyone who has followed this up to now will be able to reproduce (also negation). This is what universal algebraists call an equational theory and category theorists call a sketch (more precisely a finite product or FP sketch, for reasons I will not explain here). A model of the sketch is something (ok, a set, if you insist) with operations called addition, negation, and multiplication that satisfy the equations. Any mathematician could call a model a commutative ring. Among all models is an initial model and that is the integers. Initial here means that there is a unique homomorphism of the ring of integers into any (commutative) ring. (It happens to be initial among all rings.)
Now this works for all datatypes. If you impose the operations and relations that some datatype satisfies, then the actual type you get is the initial model of the sketch or theory. At one time, this got a few people, including me, pretty excited. Having sober second thoughts I think it is pretty thin. But then I think the applications of logic in CS are pretty thin too.
Much more interesting is that I have heard that some string theorists are finding that ideas from CT are helpful in understanding string theory. Don’t know much about that. Maybe if I did, I would find that thin too.
It is in certain branches of mathematics that CT has found its greatest use. Something called the Weil conjectures (essentially p-adic versions of the Riemann hypothesis) were proved in a way that categorical ideas were crucial. All of homological algebra benefits from infusion of category theory. It is a big topic.