What is the difference between a class and a set? I know what a set is. I have no idea what a class is. 
As best as I can make out, every set is also a class, but a class can be "larger" than any set (a so-called "proper class").
This obviously makes no sense whatsoever, since sets are of unlimited size. It's not like you get up to 25 elements and go "oh, hey, sets are limited to a maximum of 20 elements, so we'll have to call this 25-element thing something else".
Does anybody know what the actual difference between a set and a class is?
Several people have pointed out that you can write paradoxes which involve sets. I get that. But where do classes come into the picture?
 A: In my site http://settheory.net/ I provided detailed explanations about the difference between sets and classes.
To sum it up, there is a metamathematical time order between possible theories and universes that form an endless hierarchy, where each theory can only study a past universe and add itself to it for forming a later universe. Thus the idea that the purpose of set theory is to modelize this open hierarchy or flow of time.
Then the difference between sets and classes takes meaning in an open, dynamical way : contrary to sets, a class remains potentially able to contain elements that do not yet exist (even if we cannot always know it for sure).
This explanation provides a justification for some axioms of set theory, for which it can be shown that some classes are sets because they have a well-known extension, with no risk to receive in the future any further yet unknown element that would still satisfy the given property. The powerset axiom is the main exception, the one axiom that cannot be properly justified. This fact is the key to many paradoxes in the foundations of mathematics.
A: From what I understand, the notion of class was invented in order to distinguish those objects that can be described by the language used in Set Theory but which cannot be a set because it can lead to contradictions.
For analogy, consider that it is possible in the English language to create sentences that are grammatically correct but which make no sense at all or are contradictory. Examples would be: "The planet is reading stones inside the glass." or "The red blueberry is colored yellow."
If a language is sufficiently sophisticated, then it is possible to create sentences with that language which does not have any meaning or which would lead to contradictions. The language used in Set Theory is of that kind. It can create descriptions of sets that cannot exist. The canonical example is: "The set that contains elements which are not elements of themselves." Russel showed that this particular set would lead to a contradiction in that the application of elementary logic would lead to $x \in x \leftrightarrow x \not\in x$.
To save Set Theory one solution is to invent a new mathematical object called class which is defined as any object describable by the language of Set Theory. One then shows that not all classes can properly be called sets. One then states that the axioms of Set Theory apply only to sets and not to classes.
Another solution is to restrict the construction of sets such that it is only possible to construct a set from members of already existing sets. This is the approach used by books where the Axiom of Abstraction is replaced by the Axiom of Separation.
If you ask me I would rather have the second solution instead of adding another mathematical object to the things we have to keep in mind. But what do I know? I am not a mathematician!
A: Unfortunately, your intuition is failing you! Don't worry though, Cantor thought the same thing when he invented it :).
There are, in fact, classes which are "too big" to be sets. For example, the class of "all sets" is too big to be a set by the famous Russell's paradox, which directly counters your intuition from earlier. It is called a paradox because it defies the very intuition you were using: Russell's paradox shows us that if "the set of all sets" exists as a set, then set theory contains false statements (and is therefore inconsistent and worthless). It's a major problem and the primary motivation for why we study axiomatic set theory in the first place. 
When you start studying the hierarchy of infinities, you learn quickly that there is no "set of all ordinals" as it is too large to be a set! That is the Burali-forti paradox. When you dive into set theory, you run into a lot of examples.
The technical term for what you are speaking of is a "proper class", but you should be aware that the ones I've mentioned here are proper classes in the system ZFC (where the use of ANY proper classes is NOT ALLOWED). If you want to study proper classes further in detail I suggest you read about NBG set theory and New Foundations, where proper classes are allowed to be used.
A: If you are familiar with first-order logic, this may help. 
If we look at a model $M$ of ZFC from the outside, as in model theory, a "class" is simply a definable subset of the model. However, there may or may not be a element in the model whose extension is exactly that class. If there is, we say that the class "is a set" (in the context of that model). Otherwise, the class "is not a set", it is a "proper" class. 
For example:


*

*In any model of ZFC, there is an empty set, which corresponds to the class $\{x : x \not = x\}$. Therefore this class is a set. 

*In any model of ZFC, there is never a set in the model whose extension contains all the sets in the model, no $x \in M$ such that $y \in x$ for all $y \in M$.  Therefore the class $\{x : x = x\}$ is not a set, it is a proper class. 
Where does the "too big" idea come from? There are several ways to understand it. Here is one. First, we can verify that if $M$ is a model of ZFC, $C$ is a class from $M$, and $x$ is a set in $M$, then $x \cap C$ is a set in $M$. This is exactly what the axiom of separation says if you read it in this way. Thus, the only way that $C$ could fail to be a set is that there is no $x \in M$ with $C \subseteq x$, and in this sense a proper class is "too big" to be a set in $M$. 
A: The exact difference is arguably a matter of debate, and not every set theory formalizes classes, but intuitively, classes refer to things like the class of elephants (species), the class of white objects, the class of integers, etc. Sets are (naively) permissive enough to mean any collection of objects. It's a philosophical problem and the foundations of mathematics are very philosophical. 
Indeed, mathematicians/logicians/philosophers like Leśniewski (Tarski's doctoral adviser) rejected the axiomatic set theories of his day on philosophical grounds as poorly formulated hacks that merely bandaged over the ultimate sources of the paradoxes1 and betrayed the basic intuitive notion of Cantorian set which he understood to be free of paradox; to him, singletons and empty sets were absurd notions2. His published papers use the word "class" (which, IIRC, was interchangeable with set), so in his case, no distinction was made. In order to preserve his notion of Cantorian set, Leśniewski formulated what he called mereology as a replacement for set theory. In place of set membership, he defined the part membership relation ($x \sqsubset y$, read "$x$ is a proper part of $y$") which can be used to define the ingredient relation ($x \sqsubseteq y \iff x \sqsubset y \lor x = y$). If $x$ is the only ingredient of $y$, then trivially $x = y$, or, $x$ is the class $y$ (no singleton). If $\neg \exists x [x \sqsubset y]$, then $y$ is undefined (no empty set).
In Leśniewski's case, his replacement for set theory was grounded in a nominalistic metaphysics that understood classes as mereological sums. The class of mathematicians is a real, concrete object in the world which is the sum of all mathematicians and this class overlaps the class of logicians, another sum, since some mathematicians are also logicians. Some may find this understanding of classes odd, but as far as sets are concerned, it can at least as equally be argued that the singleton and the empty set are absurd notions. The mereology does not, on its own, require the nominalistic interpretation, but it's worth mentioning that it played a role in his work. Also worth mentioning is that mereology was further grounded in two further systems which, together with mereology, formed a cohesive, rigorous system, namely, ontology (where "is" is defined) and protothetic (which entails first-order logic). 
Furthermore, mereology is immune to the stock paradoxes that plague(d) set theory. Take Russell's paradox, for instance, understood as the class of all classes that don't contain themselves. Remember, $x$ is nothing but the sum of its parts. If we suppose "contains" means the ingredient relation, then trivially, $\forall x [x \sqsubseteq x]$. Therefore, all classes contain themselves and thus the question of the class of all classes that don't contain themselves is incoherent since no such classes exist. On the other hand, if proper parthood is understood to define "contains", then $\neg\forall [x \sqsubset x]$ by virtue of the antireflexive property of $\sqsubset$ (given as an axiom). Therefore, the class of all classes that don't contain themselves is merely the sum of all individuals (the universe). The case for proper parthood is a little more subtle. For further discussion, I refer you to Leśniewski.
In any case, the whole point I was making is that "it depends". Some systems define class formally, some don't. Some make no distinction. But what is most important to understand isn't this or that particular formalization but the basic question these set theories are trying (or should be trying) to address and that is they are trying to pin down and formalize the intuitive notions of class and set which is related to older metaphysical questions about universals, species, genera, etc. Without understanding that basic problem they're trying to solve, what it's all about, you'll be wasting your time, aimlessly and arbitrarily looking at this or that axiom without any sense of what set theory is, why it is, what makes a good system, etc. It will appear as if there exist these mathematicians that mysteriously come up with axioms for no reason and the rest are supposed to merely check them for consistency or accept them as incomprehensible dogmas. You'll be like an amnesiac walking down the street without any idea of where you are or what address you should be heading to. All too common, I fear.
1 Russell's paradox concerns the set of all normal sets. A normal set is a set that doesn't contain itself. The question is whether the set of all normal sets contains itself. The paradox: if the set of all normal sets doesn't contain itself, then it must contain itself because it's normal, but it would contain itself and thus wouldn't be normal and thus couldn't contain itself, which means it would be normal, but... 
2 I recommend reading his translated works published in Topoi. The process of reasoning is interesting in itself.
A: Your intuition about size limitations is wrong. Think about finite sets: there are sets which are finite but as large as you would want them, $6$ elements, $25$ elements, $216$ elements, whatever. But does that mean that the set of natural numbers is a finite set? 
The idea behind the transfinite is what happens after you've gone to infinity and beyond. So there are sets and they grow larger and larger, then they become infinite, and they continue to grow larger and larger... eventually you have gone "all the way". There comes a question - is the collection of everything you have accumulated so far is a set? If so, we can keep on going. Classes tell us that eventually (which is a pretty far eventually) we have to stop somewhere.
In the naive approach to mathematics we think that every collection we can talk about is a set. Simply because in the naive approach there is no definition of a set.
However once axiomatic set theory came into play we have the seemingly circular definition: Sets are elements of a model of set theory.
For example, one of the axioms about sets is that they have power sets. One of the theorems linking a set and its power set is that there is no surjective function from a set to its power set.
Suppose the collection of all sets, $V$ was a set itself, what would its power set be? Well, every subcollection of $V$ is a set and therefore in $V$. This means that $P(V)\subseteq V$. However this means that there is a surjective function from $V$ onto its power set!
Cantor's paradox (as above), as well Russell's paradox (all sets which are not elements of themselves is a collection which is not a set), and so several other paradoxes tell us one thing: not all collections we can define are sets.
In ZFC classes are simply definable collections of sets. What does it mean definable? It means "all sets which have a property which we can describe in the given language".
One simple way to describe the difference between sets and classes in ZFC is that sets are elements of other sets. Classes are not elements of any other class, so if $A\in B$ then $A$ is a set.

To your edit:
The first thing to want from a foundational mathematical theory (one which you hope to later build most of your mathematics on) is that if you have a certain property, then you can talk about all the things in your universe with this property. The various paradoxes tell us that in ZFC (and in its spawns) some of these collections are not sets. The notion of "proper class" tells us that we can still talk about this collection, but it is not a set per se.
For example, we can talk about ordinals (which are a transfinite generalization of the natural numbers in some sense), the collection of all ordinals is a proper class. We can still talk about "all the ordinals" or prove that some property holds for all of them, despite that this is not a set.
A: A class is a common/shared property/attribute which may or may not be possessed by members of a defined set. For example the set of even integers contains elements divisible by 3 (6, 12 examples), they are members of the set N/3, the elements of which, when inside the set N/2, are a class. In short class is a latent property, and a set, well is a set. 
A: This is what I have culled from the sources/references I was fortunate enough to obtain / reach for consultation.  
A class is a collection (or, more informally, a putting together) of objects whose origins need not be pre-defined.  A set is a collection of objects whose origins are pre-defined and unambiguous (though not necessarily realizable). Perhaps one similarity between the two notions (though it does not contribute to any enlightenment) is that the process of the putting together of the objects is not an issue at all. 
I don't claim this is an all-encompassing distinction- it could be far from it, for all I know.  This struck to me after I went through an assembly line of examples.  Note that I have used a few terms that are open to contest - or, at least an inspection with a critical eye.  For instance: (i) pre-defined (ii) realizable.    
