What is free product? I have searched for it, but I found there are several many different definitions.
Even wikipedia states just free product of $2$ sets, not an infinite product.
I know what exactly free group of a set is, but I am not sure what free group is.
Is it a generalization of free group? Or is it something constructed usinh free group of a single set?
And from what text can I learn this concept? There is no free product in Dummit&Foote. And there is a chapter about free product in Munkres-Topology but I found it extremely terse so I cannot understand anything.
 A: A free product $G=\coprod G_i$ of groups $G_i$ is the universal group with maps from each of the $G_i$-this means that maps $G\to H$ are equivalent to tuples of maps $G_i\to H$. Explicitly, $G$ is generated by words in elements of the $G_i$, where elements of $G_i$ and $G_j$ with $i\neq j$ satisfy no relations among them. For a simple example, $\coprod^n \mathbf{Z}\cong F_n$ is the free group on $\{1,...,n\}$ In topology one frequently needs the free group with amalgation over a subgroup: if $\phi:N\to G,\psi:N\to H$ then $G*_N H$ is the free product of $G$ and $H$ modulo the group generated by words of the form $\phi(n)\psi^{-1}(n)$ as $n$ ranges over $N$. This is the algebraic construction you need to use the van Kampen theorem. It's possible to construct amalgamated free products of more than finitely many groups, but this is less frequently of importance. From your question, it looks like not all of these concepts are clear to you, so let me know if you have further points of confusion.
A: The free product is the coproduct in the category of groups.  Rotman's An Introduction to the Theory of Groups defines the free product of an arbitrary collection of groups.  You can take a look here.
A: You can see the free (= coproduct) of groups in the wider context of groupoids and categories in this downloadable book by P.J. Higgins, Categories and Groupoids. The point is that a disjoint union of groups is not a group, but it is an example of a groupoid. For any groupoid $G$ there is a universal group $U(G)$; taking the universal group of a disjoint union of groups gives the free (= coproduct) of groups. This method nicely relates to topology and the groupoid version of the Seifert-van Kampen Theorem. 
The use of fundamental groupoids is discussed in this mathoverview answer. 
