On the definition of free products I am a little confused about the definition of free products. Given a collection of groups $\{G_\alpha\}_\alpha$ in order to create their free product, I don't understand what properties these $G_\alpha$ must have. I tell you three different circumstances that I met studying this definition.
1) In some forums and very brief notes I read that I have to consider the disjoint union of the $G_\alpha$ and define a word as a string of elements of this disjoint union.
2) In other the authors pick generic groups and when they want to show that the free product exists, some assume that the groups are pairwise disjoint, others that they have the unity $1$ in common. This confuses me a lot. So from this, isn't writing $\mathbb Z*\mathbb Z$ an abuse of notation? I mean, if I have to consider the free product of two equal groups, as $\mathbb Z*\mathbb Z$, it means that actually what I wrote is a free product of two disjoint groups both isomorphic to $\mathbb Z$?
3) Other books don't mention this problem. They just give the definitions picking generic groups but they don't think to the case where two or more groups are equal.

So what is the real definition? Why is there confusion about it?
  Moreover, I can't find a very good reference that treats the union disjoint approach neither that explains how and if these different definitions are equivalent.

 A: Since you mentioned in the comments you have, and are familiar with Topology by Munkres, and I think Munkres takes a similar approach to what your question is discussing, I will use it as a guide, and explain some of what is going on there.
So first off, to actually construct an example of a free product of groups, typically you go through this reduced word definition, in which case you need disjoint groups, otherwise there is interaction between subgroups. This is purely convenient for construction, and not necessary for definition of free products (although this is actually what Munkres takes as the definition of free product of groups).
Munkres then defines what it means to be an external free product of $G_\alpha$ relative to monomorphisms $i_\alpha:G_\alpha \to G$ to be when $G$ is a free product of $i_\alpha(G_\alpha)$. Note that he does not require $G_\alpha$ to be disjoint, but by his definition of free product the $i_\alpha(G_\alpha)$ must be disjoint. To show that given $\{G_\alpha\}$ that an external free product always exist, what Munkres does is move to assuming that they are disjoint, which can be done by passing to $\{G_\alpha \times \{\alpha\} \}$ and doing the word construction. Taking this route there are natural monomorphism $j_\alpha:G_\alpha \times \{\alpha \} \to G$, so $G$ is an external free product of this collection, and there are natural isomporphism $\iota_\alpha:G_\alpha \to G_\alpha \times \{\alpha \}$, so $i_\alpha= j_\alpha \iota_\alpha$ is a collection of monomorphisms, and $G$ is in fact an external free product of the $G_\alpha$, and you don't really have to assume the $G_\alpha$ are disjoint, it is just helpful for the actual construction.  This "little trick" is frequently used in other places (basically whenever you are constructing things from maps satisfying certain properties), and I think it is one of those things that Munkres, and others would probably expect you to fill or "just know" how to do/it doesn't effect anything.
In a couple of the other answers here, free products is defined in terms of universal property (Munkres uses the term extension condition, or something similar), and note that this does not assume things are disjoint either, for essentially the same reasons as why you don't require the external free product to not be disjoint.
In a little bit more concrete example, if we want to think about $\mathbb{Z} * \mathbb{Z}$ (which is just a name for a group satisfying some universal property) in terms of external free product, we get that there are monomorphisms $i_1,i_2: \mathbb{Z} \to \mathbb{Z} * \mathbb{Z}$ such that $i_1(\mathbb{Z}) \cap i_2(\mathbb{Z})= \{id\}$, and it is a free product $i_1(\mathbb{Z})*i_2(\mathbb{Z})$ in the reduced word sense. 
If you look in Munkres I don't think he ever writes anything like $\mathbb{Z} * \mathbb{Z}$, basically because it disagrees with his approach, but from the above example it is pretty easy to see what that would mean, no matter what approach you take to understanding free products.
A: Say we've got two arbitrary groups $G$ and $H$, with generators $\{ g_i \}$ and $\{ h_i \}$. The spirit of $G \ast H$ is "I want to make a group using $G$ and $H$, where the only relations are the ones that already existed among the $g_i$ and $h_i$". Even if some elements of $G$ and $H$ are equal in some external sense, we want to distinguish them internally by "tagging" them with $G$ or $H$.
So if both $G$ and $H$ were $\mathbb{Z}$, if you said that the $2$ in $G$ was equal to the $2'$ in $H$, then you'd be introducing a relation between elements of $G$ and $H$. Because "free" means "as generic as is possible", we shouldn't be doing this.
Plus, what if $G$ was the integers, and $H$ was $\{ 2^k \mid k \in \mathbb{Z} \}$ under multiplication? We really don't want to identify $1 \in G$ with $1 \in H$ now, because it's the identity in $H$ but not $G$. If we forced $1 \in G$ to be the identity, since it generates $G$, all elements in $G \hookrightarrow G \ast H$ would be trivial, and so we'd just have $G \ast H \cong H$, and that'd be strange.
If you're familiar with presentations, this might help:
$$ \langle g_1, \ldots, g_n \mid r_1, \ldots r_k \rangle \ast \langle h_1, \ldots, h_m \mid s_1, \ldots s_l \rangle \\ = \langle g_1, \ldots, g_n, h_1, \ldots, h_m \mid r_1, \ldots r_m, s_1, \ldots s_l \rangle $$
A: Amalgamated sum in the category of groups:
Let $G_1$ and $G_2$ are two groups $j_i:H\hookrightarrow G$,
$i=1,2$  two
 monomorphisms groups. The group amalgamated  sum of $G_1$ and $G_2$ over
 $H$
exists and symbolized by $G_1\sqcup_HG_2$. it is defined by the
following universal two property: a) $G_i$ is injected into
$G_1\sqcup_HG_2$ as group by monomorphisms $f_i$ , $i=1,2$
b) for every groups morphisms $g_i\rightarrow K$, $i=1,2$, there
is one and only one group morphism $h: G_1\sqcup_HG_2 \rightarrow
K$ s.t  $ hf_i = g_i$, $i=1,2$.
Special case: if $H$ is the trivial group $H = \{e\}$,  then the
amalgamated sum of $G_1$ and $G_2$ above $H$ is exactly the free
product $ G_1* G_2$  which is known as  the free group on the set
 $G_1\sqcup G_2$ of disjoint reunion $G_1$ and $G_2$.
A: Definition. An indexed collection of sets, denoted $\{X_i, i\in I\}$, is a set $X$ whose elements are sets $X_i$, together with a surjective function $\iota: I\to X$, $i\mapsto X_i$.  
Example: $X= \{{\mathbb Z}_i, i\in \{1,2\}\}$, in other words, we have the set $X=\{ {\mathbb Z}\}$, $I=\{1,2\}$ and  $\iota: I\to X$ the unique constant function. 
Definition. Let $\{G_i: i\in I\}$ be an indexed collection of groups and assume that for each $i\in I$ we are given a homomorphism $\phi_i: G_i\to G$. Then the group $G$ is said to be the free product of the groups $G_i$, with respect to the homomorphisms $\phi_i$ if the following universality condition holds: For each group $H$ and a collection of homomorphisms $\psi_i: G_i\to H$, there exists a unique homomorphism $f: G\to H$ such that $f\circ \phi_i= \psi_i$ for each $i\in I$. 
See W.Massey,  "Algebraic Topology: An Introduction", p. 97. 
Note that Massey skips on the definition of an indexed collection of sets, which he assumes the reader is familiar with (from a set theory course or a general topology course).  
With this definition in mind, the entire issue of the groups $G_i$ being disjoint, distinct, etc., is irrelevant. For instance, for the free product ${\mathbb Z} \star {\mathbb Z}$, you have $\{G_i, i\in I\}= \{{\mathbb Z}_i, i\in \{1,2\}\}$ as discussed above.  
A: It is easy to define the free product $A*B$ of two groups $A,B$ as a set. It is just the disjoints unions for $n\in \bf N$ of "words" of length $n$", with $e$ as a word of length $0$, $a_1b_2....a_{n-1}b_n$, with $a_i\in A, b_i\in B$ and $a_i\not =1$ if $i>1$, $b_j\not =1$ if $j<n$. What is more complicated is to define the product (concatenate and reduce) in this set ; the difficult point is to check that this product is associative. 
