What is the definition of a set? From what I have been told, everything in mathematics has a definition and everything is based on the rules of logic. For example, whether or not $0^0$ is $1$ is a simple matter of definition.
My question is what the definition of a set is? 
I have noticed that many other definitions start with a set and then something. A group is a set with an operation, an equivalence relation is a set, a function can be considered a set, even the natural numbers can be defined as sets of other sets containing the empty set.
I understand that there is a whole area of mathematics (and philosophy?) that deals with set theory. I have looked at a book about this and I understand next to nothing.
From what little I can get, it seems a sets are "anything" that satisfies the axioms of set theory. It isn't enough to just say that a set is any collection of elements because of various paradoxes. So is it, for example, a right definition to say that a set is anything that satisfies the ZFC list of axioms?
 A: Formally speaking, sets are atomic in mathematics.1 They have no definition. They are just "basic objects". You can try and define a set as an object in the universe of a theory designated as "set theory". This reduces the definition as to what we call "set theory", and this is not really a mathematical definition anymore.
In naive settings, we say that sets are mathematical objects which are collections of mathematical objects, and that there is no meaning to order and repetition of the objects in the collection.
And when we move back to formal settings, like $\sf ZF,NBG,ETCS,NF$2 or other set theories, we try to formalize the properties we expect from sets to have. These may include, for example, the existence of power sets, or various comprehension schemata. But none of them is particularly canonical to the meaning of "set".
These are just ways to formalize, using a binary relation (or whatever you have in the language), the idea of membership, or inclusion, or whatever you think should be the atomic relation defining sets. But as for a right definition? In this aspect "set" is as Platonic as "chair" or "number" or "life".

Footnotes:

*

*This assumes that you take a foundational approach based on set theory. There are other approaches to mathematics, e.g. type theory, in which the notion of "type" is primitive, and sets are just a certain type of objects.
Sufficiently strong set theories can interpret these foundations as well, reducing them to sets if you choose to, or not if you choose not to.


*These are Zermelo-Fraenkel, von Neumann-Goedel-Bernays, Elementary Theory of Category of Sets, and New Foundations. These are not the only set theories, of course. And the point of the answer is that these just offer formal frameworks for the notion of "set" as a primitive object (in one way or another).
A: Note: According to OPs formulation in the bounty text this answer is aimed to give at least a glimpse of some aspects around the definition of set and set theories with focus on the axiom of choice. The top voted answers already contain the essential information.
On the definition of sets:

In modern times sets (and all other mathematical objects) are defined not in order to specify what they are but instead what we want to do with them. This led to different set theories which emerged essentially due to three different strands and common to all of them was the goal to develop a substantial mathematical theory.

*

*Set theory as a tool in understanding the infinite leading to the theory of cardinals and ordinals. We owe Georg Cantor the fundamentals of this theory who did it more or less single-handed and against all odds.


*Set theory as foundation of supplying the subject matter of mathematics. This claim reflects the mainstream and in many books we can find something like set theory is the foundation of mathematics.


*Set theory as supplier of a common mode of reasoning for diverse areas of mathematics. This is strongly related with the second strand and the axiom of choice is a famous set-theoretical principle of this type.

This reasoning from M. Potter's Set Theory and It's Philosophy is followed by

The history of such theories is now a century old ... - and yet there is, even now, no consensus in the literature about the form they should take.

Conclusion: There is no widely agreed single set theory which is favored by the mathematicians from which we could derive a right definition of a set. Instead depending on the area of research and the  richness of results within these areas different set theories like ZF, ZFC, etc. are taken as their basis.

Set theory today:
Presumably most of the daily work is explicitly or implicitely based upon ZF, ZFC or a somewhat weaker version in between. But we should be aware that each of these set theories has benefits as well as drawbacks.

U. Felgner writes in Models of ZF-Set theory
We believe that the ZF-axioms describe in a correct way our intuitive contemplations concerning the notion of sets. The axiom of choice (AC) is intuitively not so clear as the other ZF-axioms are, but we have learned to use it because it seems to be indispensible in proving mathematical theorems. On the other hand (AC) has strange consequences, such as every set can be well-ordered and we are unable to imagine a well-ordering of the set of real numbers.

Besides the well-order theorem (WOT) there are many other equivalents to the AC which are then also to accept.
Historical aspects around AC:
Some mathematicians had difficulties deciding for or against this axiom e.g. van der Waerden:

In 1930, van der Waerden published his Modern Algebra, detailing the exciting new applications of the axiom. The book was very influential, providing Zorn und Teichmüller with a proving ground for their versions of choice, but van der Waerden's Dutch colleagues persuaded him to abondon the axiom in the second edition of 1937. He did so, but the resulting limited version of abstract algebra brought such a strong protest from his fellow algebraists that he was moved to reinstate the axiom and all its consequences in the third edition of 1950. (P. Maddy, 1988)

H. Herrlich summarizes the historical development in his Axiom of Choice

After Gödel (1938) proved the relative consistency of the Axiom of Choice by constructing within a given model of ZF a model of ZFC, the proponents of AC gained ground. Most modern textbooks take AC for granted and the vast majority of methematicians use AC freely.
However, after Cohen (1963) proved the relative consistency of the negation of AC and, moreover, provided a method, called forcing, for producing a plethora of models of ZF that have or fail to have a wide range of specified properties, a growing number of mathematicians started to investigate the ZF world by substituting AC by a variety of possible alternatives, sometimes just by weaking AC and sometimes by replacing AC by axioms that contradict it.

And with respect to a true definition of sets he continues

All this work demonstrates how useful or convenient such axioms as AC and its possible alternatives are. But the question of the truth of AC is not touched, and Hilbert's First Problem remains unanswered. It is conceivable, even likely, that it will never be solved, despite Hilbert's optimistic slogan expressed in his Paris lecture: in mathematics there is no ignorabimus.


Pros and Cons of AC:
Herrlich's book is an interesting source of information around AC. He presents many equivalents of AC and some related concepts to AC. The main part are the chapters Disasters without Choice consisting of 11 sections organised by mathematical disciplines and the chapter Disaster with Choice consisting of 2 sections. To get a glimpse about such consequences I pick out two, three easy understandable examples:

From Section 4: Disasters without Choice
Section 4.4: Disasters in Algebra I: Vector Spaces
In ZFC every vector space is uniquely determined, up to isomorphism, by a single cardinal number, its dimension. Each of the two fundamental results which together enable us to associate dimension with a given vector space fail badly in ZF.
Disaster 4.42: The following can happen:

*

*Vector spaces may have no bases

*Vector spaces may have two bases with different cardinalities.

Theorem 4.44: Equivalent are:

*

*Every vector space has a basis

*AC


Section 4.6: Disasters in Elementary Analysis: The Reals and Continuity
Disaster 4.53: The following can happen

*

*$\mathbb{R}$ may fail to be Fréchet, i.e., not every accumulation point $x$ of a subset A may be reachable by a sequence $(a_n)$ in $A$.

... (9 more to follow)

Though the Axiom of Choice is responsible for many beautiful results, it is equally responsible for the existence of several dreadful monstrosities - unwelcome and unneeded.

From Section 5: Disasters with Choice
Section 5.1: Disasters in Elementary Analysis:
Definition 5.1: The equation $f(x+y)=f(x)+f(y)$ is called the Cauchy-equation
Consider a function $f:\mathbb{R}\rightarrow\mathbb{R}$ that satisfies the Cauchy-equation for all real $x$ and $y$. Then it is easily seen that

*

*$f(r\cdot x)=r\cdot f(x)$ for all rational $r$ and real $x$, i.e. $f$ is $\mathbb{Q}$-linear.

In particular:

*

*$f(r)=f(1)\cdot r$ for all rational $r$.

And continuity of $f$ would imply

*

*$f(x)=f(1)\cdot x$ for all $x\in \mathbb{R}$
Are there solutions of the Cauchy-equation that fail to be continuous? None has ever been constructed and in ZF none will ever be. However the Axiom of Choice guarantees the existence of such monsters; even worse, under AC there are far mor undesirable solutions of the Cauchy-equation than there are desirable ones:
Disaster 5.2: In ZFC there are

*

*$2^{\aleph_0}$ continuous solutions $f:\mathbb{R}\rightarrow\mathbb{R}$ and


*$2^{(2^{\aleph_0})}$ non-continuous solutions $f:\mathbb{R}\rightarrow\mathbb{R}$ of the Cauchy-equation.

Conclusion: It is good to be aware that there are benefits and drawbacks in ZF as well as ZFC and it's plausible that this is also the case for other set theories. So, there is no true definition of a set theory as framework for a true definition of a set.
Two hints:
A classic source to read and think about sets is Naive Set Theory by P. Halmos. It presumably covers most of the aspects around sets you might need for daily work.
On the other hand if you are curious, to see which functions in real analysis can be defined or not be defined according to underlying set theories, you may want to have a short look into Strange Functions in Real Analysis.
A: 
"So is it, for example, a right definition to say that a set is
  anything that satisfies the ZFC list of axioms?"

Well, that can't be right, or it would make a sheer nonsense of the idea that there are alternative theories of sets which deviate from ZFC -- like NF, for example.
You might find this article on Alternative Axiomatic Set Theories interesting and illuminating. 
A: I will be using the definition of a set most commonly used in mathematics and the real world.
A set is, simply put, a list. Anything is a set. One way to denote a set is to surround a list of elements separated with commas with brackets. A set of my favorite ice-cream types might be $\{Chocolate, Vanilla, Strawberry\}$. Sets can have one element: $\{5\}$ is an element where the only member is the number $5$. Sets can also be empty: $\{ \}$. The empty set is also denoted by $\emptyset$ (when written, it looks more like $\varnothing$). There are also infinite sets: $\{0,1,2,3,4\cdots\}$ is the set of whole numbers. Sets can even have sets as members, for example $\{\{1,2,3\},\{2,3,4\},\{3,4,5\}\}$ is also a set.
Some sets have a rule, for example if the member of our sets are all coordinates, and $y=x$, then we can call the locus of coordinates where $y=x$ a set of vertices. There are an infinite number of such coordinates, including $(0,0), (\pi,\pi), and (\sqrt2,\sqrt2)$. Another function might be: given the domain of Bob, Alice, and Charlie, the output is their favorite ice-cream types. This function can be considered a set: $\{(Bob,Vanilla), (Alice, Chocolate), (Charlie, Chocolate)\}$.
The ZFC list of axioms is just a list of rules that all sets have to follow - they don't really define a set. Sets have to follow the axioms, for example, one axiom claims the existence of a Power Set of a set - the Power Set of a set $S$ contains all subsets of $S$ including $\emptyset$ and $S$ itself, for example, the power set of $\{1,2\}$ is $\{\emptyset,\{1\},\{2\},\{1,2\}\}$. However, not all axioms apply, for example, one axiom claims the existence of one and only one empty set ($\emptyset$). A set can’t really “satisfy” this axiom.
Hope this helps. (If I didn’t completely answer your question, feel free to comment and I’ll fix my answer).
EDIT: A set's order does not matter (this is one thing that distinguishes sets from sequences).
A: Sets have members, and two sets are the same set if, and only if, they have the same members.
That is not quite enough to characterize what sets are.
For example, is the set of all sets that are not members of themselves a member of itself?  If so, you get a contradition, and if not, you get a contradiction.  The "class" of all sets is "too big to be a set", and that simply means you cannot apply to it all the operations you can with sets.  The same thing forbids the class of all groups to be a set of all groups: if it were a set, then the set of permutations of its members would be a group, and would therefore be a member of the set of all groups, and that leads to problems like those of the set of all sets that are not members of themselves.  Likewise, the class of all vector spaces is not a set, etc.  These "proper classes" differ from "sets" only it that they are not members of any other classes.
E. Kamke's Theory of Sets and Paul Halmos' Naive Set Theory are fairly gentle, if moderately onerous, introductions to "naive" set theory.  In "naive" set theory, sets are collections of things.  In "axiomatic" set theory, sets are whatever satifies the axioms.  Halmos inadvertenly coined the term "naive set theory" by naming his book that, when he mistakenly thought the term was already in standard use.
A: 
So is it, for example, a right definition to say that a set is anything that satisfies the ZFC list of axioms?

That is almost correct, but not quite. A set on its own does not satisfy the ZFC axioms, any more than a vector on its own can satisfy the vector space axioms or a point on its own can satisfy the axioms of Euclidean geometry.
In school, especially early on, we tend to go from specific to general. First, you learn the numbers 1 through 10 as a young child. Later, you learn larger natural numbers. Finally, much later, you start to talk about the set of all natural numbers. 
But things go the other way in advanced mathematics. The definition of a vector space does not start by saying what a "vector" is. The definition of a vector space just give properties that a set of vectors must have with respect to each other to make a vector space. 
The same holds for set theory. Instead of saying "a set is anything that satisfies the ZFC list of axioms", you need to start with the entire model of set theory. Then, it does make sense to say, for example, that a ZFC-set is an object in a model of ZFC set theory. Of course, there are several axiom systems for set theory, which a priori have different kinds of "sets". (Of course, there are many vector spaces with different kinds of "vectors" as well.)
When we learn the definition of a vector space, we have some intuitive examples such as $\mathbb{R}^2$ and $\mathbb{R}^3$ to guide us. For set theory, we have examples such as subsets of $\mathbb{N}$ and $\mathbb{R}$, and pure sets such as $\{\emptyset, \{\emptyset\}\}$. These help us understand what the axioms are trying to say. 
A: 
Definition 0. A set is an $\infty$-groupoid in which every two parallel $1$-cells are equal.

Okay, but what the heck is an $\infty$-groupoid? Well, we can define it like so:

Definition 1. An $\infty$-groupoid is an $\infty$-category in which every $n$-cell is invertible, for all $n \in \mathbb{N}$.

But now the same problem asserts itself: after all, what in the world is an $\infty$-category?
At some point, you have to stop. You have to pick an object that is never defined, whether that be "natural number" or "set" or "$\infty$-groupoid" or "$\infty$-category" or whatever. And instead of defining the objects you wish to study, you instead specify a formal system that grants some ability to reason about those objects. Basically, a formal system consists of some strings of characters (called "axioms") together with inference methods that go something like so: "If the following strings of characters are written down.... $s_1,\ldots,s_n$, then you can write down the string $t$." A sufficiently powerful formal system can therefore provide a foundation for mathematics, by telling us how to reason about sets or $\infty$-groupoids or whatever. Often, we oversimplify by saying: "A foundation of mathematics is a list of axioms." This is an oversimplification, because without inference methods, we can't write down any further strings! Anyway, this is a handy way of talking, so it remains common.
If we wish to stop at "set" and list axioms that govern how sets behave (rather than trying to define what sets are), the most popular approach is ZFC. Basically, ZFC is a list of axioms about sets: for example, one of these axioms says: "If you have a set $X$, then the set of all subsets of $X$ exists." (Axiom of Powerset). Of course, these axioms alone are pretty useless; we need to combine them with some inference methods to get something interesting. But this is easy to do: just pick your favorite collection of inference methods for first-order logic, combine them with the ZFC axioms, and hey presto! You've founded mathematics on sets.
ZFC is the collection of axioms that most working mathematicians will turn to when they get into thorny set-theoretic issues that need a rigorous foundation to sort out. Furthermore, most professional set theorists today base their work on ZFC. However, there are other, competing approaches to reasoning about sets. These include ETCS, SEAR and Martin-Lof Type Theory. You may also be interested in Homotopy Type Theory, which (if I understand correctly) may one day allow us to take $\infty$-groupoids rather than sets as fundamental.
A: (Extensively edited)

So is it, for example, a right definition to say that a set is anything that satisfies the ZFC list of axioms?

In the ZFC axioms, there is no distinction made between objects that are sets and those that are not. Everything is a set. So it doesn't seem all that meaningful to say that some object is a set if and only if it satisfies these axioms. 
There is no formal definition of a set in ZFC. Here is the best definition of a set that I have found:

A collection of distinct entities regarded as a unit, being either individually specified or (more usually) satisfying specified conditions. 
  Oxford English Dictionary

To be able to write formal proofs about sets, you must do more than just define what a set is. You must compile a minimal list of essential formal properties of sets from which you can derive other formal properties and theorems as required. Using the above definition as a guide, one such property, for example, might be that, for every pair of sets, there exists a set that is their union. Expressed formally:
$$\forall x,y :\exists z :\forall a: [a\in z \iff a\in x \lor a\in y]$$
Here I assume, as in ZFC, that everything is a set. I make no use here of an "is a set" predicate.
Another essential property of sets might be that there exists an empty set that contains no elements. Expressed formally:
$$\exists \emptyset: \forall x: [x\notin \emptyset]$$
Note that neither of these proposed essential properties of sets could be used as a defining property of what a set might be.
Compiling such a list of essential properties can be tricky. The earliest attempt resulted in a system with internal inconsistencies. In that system, it was possible to both and disprove that (see Russell's Paradox):
$$\exists r:\forall x:[x\in r \iff x\notin x]$$  
The most successful attempt to date is the Zermelo-Fraenkel axioms of set theory that list 8 essential properties of sets that were used, along with the axioms  of first-order logic, to develop the bulk of modern set theory. After over a century of intensive scrutiny by mathematicians and logicians, no internal inconsistencies have been found in the ZFC axioms.
A: Sets are self-defined; what you're asking here is equivalent to asking: 
What is the definition of a definition? 
In any case, here is the $\color{red}{\mathrm{old}}$ "definition" of a set:
A set is a collection of 'things'.

There are some who still accept this "definition". 
However, suppose we have the set of all sets $S$ defined by $$S=\left\{x \mid x \space   \mathrm{is}\space\mathrm{a}\space\mathrm{set} \right\}$$ and $R$ the set  of all sets that do not have themselves as an element defined as $$R=\left\{x \mid x \space   \notin x \right\}$$ From this we can ask is $R$ an element of $R$?
If yes, then $R \in R \implies R \notin R$
If no, then $R \notin R \implies R \in R$
This is a contradiction and is known as Russell's Paradox.
This paradox was later resolved by Ernst Zermelo and Abraham Fraenkel and is known to be the Zermelo–Fraenkel set theory. Hence the $\color{blue}{\mathrm{new}}$ "definition" is the axiomatic set theory and is the most fundamental foundation of mathematics.
So to summarize: 

There is no definition of a set. As a set is already a self-defined entity.

A: Long Comment to Asaf's answer, trying to add some more background.
We can compare the issue regarding the "definition" of set with Geometry.
Euclid's Elements opens with five definitions :


*

*A point is that which has no part.


*A line is breadthless length. [...]


*A surface is that which has length and breadth only.

They can be of some help in grasping the basic concepts, but hardly they can be conceived as real definitions at all.
In 1899 David Hilbert's published his groundbraking book on the axiomatization of geometry : Grundlagen der Geometrie, based on previous lectures. These are the first paragraphs (page 3) :

Let us consider three distinct systems of things. The things composing the first system, we will call points and designate them by the letters $A, B, C,\ldots$; those of the second, we will call straight lines and designate them by the letters $a, b, c,\ldots$; and those of the third system, we will call planes and designate them by the Greek letters $\alpha, \beta, \gamma, \ldots$. [...]
We think of these points, straight lines, and planes as having certain mutual relations, which we indicate by means of such words as “are situated,” “between,” “parallel,” “congruent,” “continuous,” etc. The complete and exact description of these relations follows as a consequence of the axioms of geometry.

Hilbert's work on foundations of mathematics and logic has been called Formalism and it is still the prevailing philosophical view between "working" mathematicians.

For set we can consider Georg Cantor's mature definition of set in "Beiträge zur Begründung der transfiniten Mengenlehre", Mathematische Annalen (1895-97, Engl.transl.1915 - Dover reprint), §1, page 85 :

By an "aggregate" (Menge) we are to understand any collection into a whole (Zusammenfassung su einem Ganzen) $M$ of definite and separate objects $m$ of our intuition or our thought. These objects are called the "elements" of $M$.

Compare it with a modern textbook on set theory : Nicolas Bourbaki, Elements of Mathematics : Theory of sets (1968 - 1st French ed : 1939-57), page 65 :

From a "naive" point of view, many mathematical entities can be considered as collections or "sets" of objects. We do not seek to formalize this notion, and in the formalistic interpretation of what follows, the word "set" is to be considered as strictly synonymous with "term". In particular, phrases such as "let $X$ be a set" are, in principle, quite superfluous, since every letter is a term. Such phrases are introduced only to assist the intuitive interpretation of the text.


Thus, from a mathematical perspective, points and lines are "things" satisfying the axioms of geoemtry; in the same way, sets are "objects" satisfying the axioms of set theory.
Of course, also if a definition "inside" set theory of the notion of set is impossible, we can still have attempts to elucidate the notion of set from a philosophical perspective.
See e.g. Paul Benacerraf & Hilary Putnam (editors), Philosophy of Mathematics: Selected Readings, (2nd ed : 1983), Part IV. The concept of set.
A: The definition of set depends on what kind of set theory you're using. Here are two examples.
In the kind of set theory described in the appendix of John L. Kelley's General Topology (available at the Internet Archive), the so-called Morse-Kelley set theory, a set is is something which is an element of something else. (Element is undefined; you can't define everything.) In symbols:
$$x\text{ is a set }\iff\exists y\ (x\in y)$$
In the very popular Zermelo–Fraenkel set theory, set is not only not defined, it is not even an undefined term; there is no need to speak of sets because everything is a set. If you insist on defining such a useless term, you could use the same definition as in Morse-Kelley set theory, or more simply:
$$x\text{ is a set }\iff x=x$$
A: One of the reasons mathematics is so useful is that it is applicable to so many different fields.  And the reason for that is that its logical structure starts with "undefined terms" that can then be given definitions appropriate to the field of application.  "Set" is one of the most basic "undefined terms".  Rather than defining it a-priori, we develop theories based on generic "properties" and allow those applying it to a particular field (another field of mathematics, or physics or chemistry, etc.) to use a definition appropriate to that field (as long as it has those "properties" of course).
A: I disagree with people who say that set is undefined.
I am also not very fond of definitions which describe set as an "object", a "list", or a "collection" of something.
Each of above approaches raise somewhat difficult questions, with "collection" being the least problematic of all, in my opinion. 


*

*If we try to define set as an object, we inevitably run into discussion of what is object.
We end up defining set in terms of something, which is probably even more difficult to define.

*We cannot define set as list because we cannot list or even comprehend/recognize/operate every member of many sets arising in mathematics.

*Although the least contradictory one from my prospective, an attempt to define set as a collection of something has it disadvantages as well.
Dictionaries define "collection" either as a set, in which case we fall into a vicious circle, or as the act of collecting something, which is not very convenient in context of mathematics.
When talking about set of numbers, we do not mean that they "lie somewhere collected in a pile", or "gathered together" somehow.


We are on the right track with the last interpretation though.

According to Mathematical Analysis lecturer in my undergrad, 

set is the way our brain groups abstract objects.

It is not an actual "group" (or "collection") of physical objects or even mental images, but rather a pattern in one's brain which connects (or puts together) certain ideas/images (of elements of set).
In a sense, set consisting of some "elements" is nothing more but a boundary our consciousness draws between the mental image of these "elements" and the rest of object in the minds.
This boundary can be based on anything our brains can operate – common features, resemblance, random assignment, etc.
Ultimately, my bottom line is:

set is a property of mental image(s) in someone's brain.

I know this definition is not mathy/rigorous at all, and perhaps contradicts some definitions you can find in the literature.
But this is the best answer to the question I kept asking myself for the longest time: 
"what exactly do they mean when they say 'set'?"
