How do I find the terms of an expansion using combinatorial reasoning? From my textbook: 

The expansion of $(x + y)^3$ can be found using combinatorial reasoning instead of multiplying the three terms out. When $(x + y)^3 = (x + y)(x + y)(x + y)$ is expanded, all products of a term in the first sum, a term in the second sum, and a term in the third sum are added. Terms of the form $x^3$, $x^2y$, $xy^2$, and $y^3$ arise.

What does the bolded part mean? 
I found that if you find the possible combinations of $x$ and $y$, you can get $xxx = x^3$, $xxy = x^2y$, $xyy = xy^2$, $yyy = y^3$. Is this what it means?
 A: Expanding $(x+y)(x+y)(x+y)$ amounts to adding up all the ways you can pick three factors to multiply together. For example, you could pick an $x$ from the first $(x+y)$, a $y$ from the second $(x+y)$, and another $x$ from the third $(x+y)$ to get $xyx=x^2 y$.
You are right, the only possible products we can get are $x^3$, $x^2 y$, $xy^2$, and $y^3$. However, we do need to count how many ways to get each factor. For example there is only one way to get $x^3$ (pick $x$ from each $(x+y)$), but there are three ways to get $x^2 y$: $xxy$, $xyx$, and $yxx$. One way to count this is to realize that there are $3$ ways to choose which $(x+y)$ contributes a $y$ [and the rest will be $x$s]. Similar reasoning for $xy^2$ and $y^3$ shows that the expansion is $x^3 + 3x^2 y + 3 xy^2 + y^3$.
In general, if you have $(x+y)^n$, the number of ways to obtain a product of the form $x^k y^{n-k}$ is the number of ways to choose $k$ of the $(x+y)$ factors from which to select an $x$. There are $\binom{n}{k}$ ways to make this choice. This proves the binomial theorem $(x+y)^n = \sum_{k=0}^n \binom{n}{k} x^k n^{n-k}$.
