In Naive set theory (the kind where Russell's paradox can be made in), it is assumed that any given property provides us with the existence of a set of exactly those things that satisfy the property. This is why Russell's set can exist in Naive set theory.
To solve this, in Zermelo-Fraenkel set theory, we work with two notions: that of a class and that of a set. A class is basically what we considered to be sets in Naive set theory, in other words, a collection of things satisfying a property.
A set however, is a more refined concept than a class. Every set is still a class (and thus still can be seen intuitively as a collection of objects satisfying a property), but instead of defining sets through the properties their elements have, we define sets by constructing them from the ground up. We carefully lay down the rules that these constructions have to obey and try to make them not too general, so that it is impossible to create sets like Russell's set.
Zermelo-Fraenkel set theory (to be precise, their Axioms) describes exactly which rules of construction are allowed. Some rules are very simple, such as that you can combine two sets together to form a new set containing all the elements of the both of the previous sets, or that you can create a set containing exactly all the subsets of another set. Other rules are very delicate and counterintuitive, even to many mathematicians.
One particular rule that is reminiscent of Naive set theory, is the rule that if we start with a set and any property, then we can take the collection of all the elements inside that set that satisfy said property. So once we have a set, we can get a smaller set with elements satisfying a property. This gives us much of the power that we had in Naive set theory, but without the trouble of sets that are "too general" in a certain sense.
So this is how Zermelo-Fraenkel set theory solves the problem of Russell's paradox. But where lies the problem in having a set of all sets? In Zermelo-Fraenkel set theory the answer is quite easy to see: we have the rule that we can construct from any set and any property, a new set with elements of the original set that exactly satisfy the property. But if there is a set of all sets, let's call it $V$, then we can get Russell's paradoxical set from taking those elements from $V$ that are not contained in themselves.
Thus, if the set of all sets were a set in Zermelo-Fraenkel's set theory, then Russell's paradox would also give us a set of sets that do not contain themselves.
This is not the only solution to Russell's paradox. Another logical option, would be to not restrict what sets are by laying out rules for constructing sets, but by laying out bounds for which properties we consider appropriate enough to define sets. In particular, we can consider only properties that avoid a certain type of bad self-reference. This is the basis behind Quine's New Foundations set theory. In this theory it is possible to have a set of all sets, and not have problems with Russell's paradox.