An infinite plane filled with an initial density of c>0 always (probability 1) fills the whole plane. Since it is infinite, there must be a patch of cells which eventually fills a rectangle of dimensions n*(n-1), even if n is very large. Now, the probability that there is a cell on the row above the top row {a} is 1-(1-c)^n. If such a cell exists, the area would become not just an n*(n-1) rectangle, but an n*n. Similarly, the probability that there is a cell on the left column of the new n*n rectangle (making it (n+1)*n) is once again 1-(1-c)^n, then the probability that a cell on the top row promotes it once more is 1-(1-c)^(n+1), and so on {b}.
The probability that this continues on forever is (1-(1-c)^n)^2 * (1-(1-c)^(n+1))^2 * (1-(1-c)^(n+2))^2...., which is nonzero {c}. Therefore, the eventual rectangle covered by our initial starting patterns is infinite, and the whole plane is filled. It is unlikely that the plane will not be completely filled, because that would require 2 rows or columns completely empty, which happens with probability 0.
A nice way to see this is to fill large squares with various densities. For example, a 50*50 square will usually fill up at density 7%, but it normally won't at 6%, at 100*100 it usually fills up around 5.4%, and at 300*300 most 4.5% soups fill up.
{a}: Yes, it could be 2 cells away, on the bottom row, the right column or in a corner as well, but that certainly doesn't
hurt its chances at expanding infinitely.
{b}: It is possible that the cells on the top were reachable from the initial n*n rectangle and that it had expanded very far before going left, so it isn't necessarily the case that the rectangle will grow one row, then one column. This doesn't affect the probability that it will reach those rows and columns.
{c}: This is a constant times the square of the
Euler function of 1-c.
Any sufficiently advanced software is indistinguishable from malice.