Can skeleta simplify category theory? I am not by any means an expert in category theory. Anyway whenever I have studied a concept in category theory I have always had the feeling that most of the subtleties introduced are artificial.
For a few examples:
-one does not usually consider isomorphic, but rather equivalent categories
-universal objects are unique only up to a canonical isomorphism
-the category of categories is really a 2-category, so some natural constructions do not yield functors into categories, but only pseudofunctors
-cleavages of fibered categories do not always split
....
My question is: can skeleta be used to simplify all this stuff? It looks like building everything using skeleta from the beginning would remove a lot of indeterminacies in these constructions. On the other hand it may be the case that this subtleties are really intrinsic, and so using skeleta, which are not canonically determined, would only move the difficulties around.
 A: The first, and perhaps most important, point is that hardly any categories that occur in nature are skeletal.  The axiom of choice implies that every category is equivalent to a skeletal one, but such a skeleton is usually artifical and non-canonical.  Thus, even if using skeletal categories simplified category theory, it would not mean that the subtleties were artifical, but rather that the naturally occurring subtleties could be removed by an artificial construction (the skeleton).
In fact, however, skeletons don't actually simplify much of anything in category theory.  It is true, for instance, that any functor between skeletal categories which is part of an equivalence of categories is actually an isomorphism of categories.  However, this isn't really useful because, as mentioned above, most interesting categories are not skeletal.  So in practice, one would either still have to deal either with equivalences of categories, or be constantly replacing categories by equivalent skeletal ones, which is even more tedious (and you'd still need the notion of "equivalence" in order to know what it means to replace a category by an "equivalent" skeletal one).
In all the other examples you mention, skeletal categories don't even simplify things that much.  In general, not every pseudofunctor between 2-categories is equivalent to a strict functor, and skeletality won't help you here.  Even if the hom-categories of your 2-categories are skeletal, there can still be pseudofunctors that aren't equivalent to strict ones, because the data of a pseudofunctor includes coherence isomorphisms that may not be identities.  Similarly for cloven and split fibrations.  A similar question was raised in the query box here: important data can be encoded in coherence isomorphisms even when they are automorphisms.
The argument in CWM mentioned by Leonid is another good example of the uselessness of skeletons.  Here's one final one that's bitten me in the past.  You mention that universal objects are unique only up to (unique specified) isomorphism.  So one might think that in a skeletal category, universal objects would be unique on the nose.  This is actually false, because a universal object is not just an object, but an object together with data exhibiting its universal property, and a single object can have a given universal property in more than one way.
For instance, a product of objects A and B is an object P together with projections P→A and P→B satisfying a universal property.  If Q is another object with projections Q→A and Q→B and the same property, then from the universal properties we obtain a unique specified isomorphism P≅Q.  Now if the category is skeletal, then we must have P=Q, but that doesn't mean the isomorphism P≅Q is the identity.  In fact, if P is a product of A and B with the projections P→A and P→B, then composing these two projections with any automorphism of P produces another product of A and B, which happens to have the same vertex object P but has different projections.  So assuming that your category is skeletal doesn't actually make anything any more unique.
A: While I agree with the above answers, I know of some situations where it might be good to take a skeleton (or something like it). This has to do with large categories which are essentially small. You might want to take a skeleton or at least a a small category that is equivalent to the original, so as to avoid size problems. 
A: I think that one of the basic ideas of category theory, and of much of current trends in various areas, is that one should not fight the fact that there are choices by actually making choices, but instead that one should deal with them all at the same time, for the presence of choices is itself an important piece of information.
A: In MacLane's "Categories for the Working Mathematician", in the end of section VII.1 there is an argument due to Isbell proving that one cannot strictify a monoidal category by replacing it with its skeleton.
Generally, I would say that all one can achieve by replacing a category with its skeleton is replacing natural isomorphisms with much less natural automorphisms.
A: A special case of the question of whether categories should be skeletal is whether you should pick bases for vector spaces.  This was the topic of a previous MO question.  After all, the standard skeletal form of the category $\text{Vect}(k)_{<\infty}$ (finite-dimensional vector spaces over $k$) is the collection of all $k^n$.  In the first pass through linear algebra, students are taught this skeletal model of this category, and then in later iterations they are taught different models.
Taking bases of vector spaces as an example, the skeletal form of a category is both always useful and never useful.  One the one hand, abstract arguments are almost always clearer and less error-prone without a skeletal assumption.  As I explained in the other question, if you do not push objects into the skeleton of a category, they give you "data types", so that two sides of an incorrect equation often don't even have the same type, instead of merely different values.  On the other hand, the skeletal form of a category shows you where the actual numerical information is.
To give another example, if you study semisimple tensor categories, then demanding a skeleton is a bad idea, because it clutters proofs with no gain.  But it is also a good idea, because it shows you that the actual data in such a tensor category lies in its $6j$-symbol, or if you like its associator or its tetrahedron symbol.
A: Here's a simplified version of one of Mike's points.
In general in category theory one reason one shouldn't be "evil" (which means thinking about strict versions of things instead of weak versions of things) is that even when you restrict your attention to strict things, you still have to worry about weak maps.
For example, as Mike says, even if you only want to think about skeletal categories and isomorphisms of skeletal categories, the skeletalization theorem requires you think about equivalences.
Similarly, even if you only want to think about strict monoidal categories, the strictification theorem requires you to think about weak monoidal functors between them.  Here things are even worse, if I'm remembering correctly, where you can have two strict monoidal categories and a weak monoidal functor between them and the functor can't be strictified.
