Why cannot the homogeneous coodinates be zero? Given a point (x, y) on the Euclidean plane, for any non-zero real number Z, the triple (xZ, yZ, Z) is called a set of homogeneous coordinates for the point. Why can't Z be zero?
 A: When I first learnt about projective spaces, I was taught that a point $(x,y)$ in affine plane was represented by any triple $(X,Y,T)$ such that:
$$x=\frac XT, \quad \frac YT.$$
So, $(x,y)$ is represented by the triple $(x,y,1)$ or any triple $(xT, yT, T)$ provided $T\neq 0$. Letting T tend to $0$ defines the point at infinity in the direction $(x,y)$.
Now a projective plane is defined by gluing together affine planes; in each of these affine planes, the homogeneity variable has to be $\neq0$. 
Virtually,$(X,Y, T)$ represents one of $\Bigl(\dfrac XT,\dfrac YT\Bigr)$, $\Bigl(\dfrac YX,\dfrac TX\Bigr)$ or $\Bigl(\dfrac XY,\dfrac TY\Bigr)$, in the relevant affine space. If $X, Y$  and $T$ were all $0$, these quotients would all be undefined.
A: Because if we did allow zero, then every point $(x,y)$ would be equivalent.
A: One considers all non-zero multiples of $(x,y,1)$ to form an equivalence class. If you were to include the null vector in that class, then you'd have to include it in the class for every point. This breaks transitivity. In other words, without the null vector you can say that if $a\sim b$ (they are the same point), and $b\sim c$, then $a\sim c$. If $b$ could be the null vector, then $a\sim b$ and $b\sim c$ does no longer imply $a\sim c$, which would make your life far more complicated.
It sometimes makes sense to consider the null vector as yet another possible result, in addition to all the non-zero vectors. But in that case it's important to consider it not equivalent to any of the other points, but an equivalence with just that single element. You'd usually also not call it a point, but instead treat it as something special.
For example, one can perform lengthy constructions using geometric primitive operations like join and meet, and in the end obtain a vector. Then you can say that vector is a point if the construction went through, but the final vector would be the null vector if some step of the construction was undefined, e.g. the line joining a point to itself, or the intersection of a line with itself.
