If we want to add one real number the simplest way to do it is to use Cohen forcing. The poset is $\lbrace p\colon n\to 2\mid n\in\omega\rbrace$ which is a countable set. We can think of this as approximating a new set by finite sets.


If we want to add $\omega$-many pairwise generic real numbers we can do it by taking the poset $\lbrace p\colon n\times m\to 2\mid n,m\in\omega\rbrace$. This forcing approximates infinitely many new sets by finite parts of finitely many of the new sets. Interestingly enough both these sets are countable and therefore forcing with one is the same as forcing with the other. 


But we can also take $\lbrace p\colon\omega\times n\to 2\mid n\in\omega\rbrace$ and approximate *all* new sets at each stage. This poset is not countable anymore.


If we look at these things as topological spaces then the original Cohen forcing is really just a countable dense subset of the Cantor space, and we are adding a generic point to the Cantor set. The second forcing is the product of countably many Cantor sets, it is homeomorphic to the original Cantor set. 


The third notion of forcing, though, is the box product of countably many Cantor sets. So at least topologically it is different. I also have to admit that I never saw anyone using this approach.


Is there anything wrong it? Is it at all different from the first/second approach? What do we gain/lose when we use the box-product over the usual product?



Forcing with product vs. box product
Your third notion of forcing, with conditions $p:\omega\times n\to 2$ ordered by extension as $n$ increases, is the same as the forcing to add a function $\omega$ to the reals of the ground model. This forcing is equivalent to the forcing $\text{Coll}(\omega,\mathbb{R})$, to collapse the ground model continuum to be countable. 


To see this, observe that each condition $p$ is essentially the same as a finite list of reals, corresponding to the slices of $p$. Since we may extend any such condition so as to mention any given ground model real on a slice, the generic function will be a surjection from $\omega$ to the ground model reals $\mathbb{R}$. So this forcing collapses $2^\omega$ to $\omega$, and since it has size continuum, it must be forcing equivalent to $\text{Coll}(\omega,\mathbb{R})$. 


In the spirit of your question, let me mention a fourth way of adding $\omega$ many Cohen reals, namely, the full support product $\Pi\_n \text{Add}(\omega,1)$. Thus, conditions are simply countable sequences of finite binary sequences, ordered by extension in the natural way. This forcing is something like your third way, except that we do not insist on having uniformly constant $n$. That is, the conditions do not need to have the same size on each coordinate. Thus, we may think of a condition $p$ as a function from the region in the plane $\mathbb{N}\times\mathbb{N}$ to $2$, where the domain consists of pairs $(n,m)$ with $m\leq f(n)$ for some function $f:\mathbb{N}\to\mathbb{N}$. (Your third poset has only constant functions $f$.) Meanwhile, this version of the poset also collapses the ground model continuum to $\omega$. To see this, consider the following operation: consider the generic function, which fills out the entire matrix with $0$s and $1$s. Start at any height $k$ in the first column, and look at the number $n\_0$ of $0$s directly above it (which is finite by genericity); then go to the $n\_0$th digit of the second column, get that bit $a\_0$, and let $n\_1$ be the number of zeros following it; and so on. This defines a certain binary sequence $a\_n$, which is determined by $k$. The point now is that any given binary sequence will arise as such a sequence for some $k$ via the generic filter, since for any condition $p$, I can extend it so as to ensure that my given binary sequence is coded. Thus, the forcing adds a surjection from $\omega$ to the ground model reals, and so the forcing is equivalent to $\text{Coll}(\omega,\mathbb{R})$. 


