What breaks down when generalising from sets to classes? I have been familiarising myself recently with some basic definitions in category theory, where we work with classes of objects and morphisms, as opposed to just sets. It feels like I am long overdue trying to understand exactly what differences there are between sets and proper classes i.e. which properties we take for granted with sets no longer hold in this more general setting.
Since I don't have any rigorous definition of what a class is (or even a set for that matter, I have not studied axiomatic set theory), what should I know about classes to avoid making false assumptions in category theory?
For example:

*

*Do two classes $A$ and $B$ have a well-defined product class $A\times B$?

*Given a class $A$, can we form a 'power class' $\mathcal{P}(A)$ consisting of its subclasses?

*Can we define partial orders on classes in the same way we can for sets? (I remember being told that 'isomorphism' is an equivalence relation as an undergrad.)

I suspect the answer to all of the above is 'yes'. The only practical difference I have encountered so far seems to be that proper classes are simply too 'large' to be sets i.e. they do not have a well-defined cardinality. But can we still compare the relative sizes of two classes in some meaningful way?
In short, what things should I look out for when working with non-small categories?

An alternative to the NBG theory espoused in another answer is the theory of Grothendieck universes, according to which "class" is literally just a name for an unusually large set, we never consider such a collection as "all sets whatsoever", and all constructions available for sets are (thus) available for "classes".
