As you know the basic idea, which precedes word2vec, is to classify each word in certain meaningful vector dimensions, for example "furryness" for pets.
If you code this manually, it makes sense to manipulate directions. For example, removing furryness from the archetypical pet vector, leaves you with non-furry pets in proximity.
It essentially works the same way for word2vec.
Word2Vec encodes words without manual coding of dimensions.
The distributional hypothesis is that if words occur in the same context of other words, they share similar positions on some dimensions, and those dimensions are defined by the contextual words.
Now take two words that appear in more than one "cluster" of words together. Since these clusters differ, their similarity is high in these two groups of dimensions, so we may remove one cluster of dimensions - say related to gender - and we are left with the similarity on the other dimension.
The analogy operation used in the examples works by finding the relevant dimensions from the second word. We pick a word, and then another word for which the semantics are clear to us - like "male". Removing "male" from our starting word, we expect to move the semantic dimensions of "maleness", setting them to zero. Any word now left in proximity, retains the other contextual bundles distinct from gender.
Here you can see that this is not cut and dry. It is not clear that male is situated in a distinct semantic category. It is probably also related to dimensions that we would not want to set to zero. Nevertheless, the approach works well.
For your last question: It should be clear that a linear space can not encode true relations between words - it being linear. Moving toward another cluster usually means moving away from another, which is not true to meaning as a concept.
It has been shown, that more sophisticated embeddings encode a non-linear space where such transformations are possible.