A question on the generalization of Cartesian Product In Halmos’s Book, it is written that,

The notation of families is the one normally used in generalizing the concept of Cartesian product. The Cartesian product of two sets $X$ and $Y$ was defined as the set of all ordered pairs $(x,y)$ with $x$ in $X$ and $y$ in $Y$.  There is a natural one-to-one correspondence between this set and a certain set of families. Consider, indeed any particular unordered pair $\{a,b\}$ with $a\ne b$, and consider the set $Z$ of all families $z$, indexed by $\{a,b\}$, such that $z_a\in X$ and $z_b\in Y$. If the function $f$ from $Z$ to $X\times Y$ is defined by $f(z)=(z_a,z_b)$, then $f$ is the promised one-to-one correspondence.

Till this portion I think I understand (I have quoted this portion so that my next quote doesn't seem abrupt. If anyone has a problem with it, he/she is welcome to remove it.). In fact, I think that I can prove the one-to-one correspondence also which follows trivially from the definition of ordered pairs. 
However, the portion that I cannot understand is the following,

The difference between $Z$ and $X\times Y$ is merely a matter of notation. ... . The generalization is now straightforward. If $\{X_i\}$ is a family of sets $(i\in I)$, the Cartesian product of the family is, by definition the set of all families $\{x_i\}$ with $x_i\in X_i$ for each $i$ in I.

Why in the first line it is said that the difference between $Z$ and $X\times Y$ is “merely” a matter of notation?
Also, I don’t understand anything from the rest portion of the quote. In fact, I think that I am having trouble understanding the portion mainly because of the fact that I am unable to construct examples. 
Can anyone elaborate the second passage with examples? 
 A: This is the difference between ordered pairs and $2$-tuples, really.
Abstractly thinking about ordered pairs they satisfy the property that $(a,b)=(c,d)$ if and only if $a=c$ and $b=d$. But in the universe of set theory, we implement this definition as sets.
This means that we need to choose one implementation, and then call it "ordered pairs". The common choice is the Kuratowski definition, although there are certainly others.
After having the notion of an ordered pair, we can define a function to be a particular set of ordered pairs, and then we can define tuples.
Given a set $I$, an $I$-tuple is a function whose domain is $I$. By the axioms of replacement, power set, and separation, we know that any function whose domain is $I$ is also a set itself. So $I$-tuples are in fact sets. 
Now a $2$-tuple would be a tuple where $I$ is a set of two elements. Again, we might resort to canonical choice of representatives, since if $I$ and $J$ have the same cardinality there is an easy way to transform an $I$-tuple to a $J$-tuple, and vice versa (by precomposing bijections between the two sets).
So $Z$ is the set of $\{a,b\}$-tuples, such that $z_a\in X$ and $z_b\in Y$. It is not the same set as $X\times Y$, since one of them is a set of ordered pairs, and another is a set of functions whose domain is $\{a,b\}$. But there is a simple bijection between $Z$ and $X\times Y$, as suggested.
Why would we want to do that, you may ask. The answer is easy, tuples generalize much easier. You can define ordered triplets as $(x,y,z)=(x,(y,z))$ or $((x,y),z)$, and you can continue by induction to define ordered tuples of longer and longer lengths. But this induction will not fare nicely to infinite tuples, which are useful to us (what is a sequence if not an infinite tuple?), so instead working with the notion of $I$-tuples, we can easily generalize to the infinite case, just pick an infinite $I$!
So if we have infinitely many $X_i$'s, we can define their "Cartesian product", whose elements are $I$-tuples $x$, where $x(i)\in X_i$. Something repeated-ordered-pairs cannot quite handle.
