Difference between CBOW and SKIP Gram word vectors
Here is a example for what @Christos Karatsalos is describing:
If you take a statement like &quot;The cat jumped over the puddle&quot;,
In CBOW's case, the neural network's word embeddings are trained by passing a input set of words to the neural network and making the network to predict an output word as shown below:
$\{ cat, jumped, over, the, puddle\} \rightarrow  The $
$\{ The, jumped, over, the, puddle\} \rightarrow  cat $
$\{ The, cat, over, the, puddle\} \rightarrow  jumped $
$\{ cat, jumped, the, puddle\} \rightarrow  over $
$\{ The, cat, jumped, over, puddle\} \rightarrow  the $
$\{ The, cat, jumped, over, the\} \rightarrow  puddle $
In skip-gram's case, the neural network's word embeddings are trained by passing an input word to the neural network and teaching the network to predict a set of words as shown below:
$The \rightarrow  \{ cat, jumped, over, the, puddle\} $
$cat \rightarrow \{ The, jumped, over, the, puddle\}$
$jumped \rightarrow  \{ The, cat, over, the, puddle\}$
$over \rightarrow  \{ cat, jumped, the, puddle\}$
$the \rightarrow  \{ The, cat, jumped, over, puddle\}$
$puddle \rightarrow \{ The, cat, jumped, over, the\}$
For usage, if you are thinking of a fill-in-the-blanks kind of problem CBOW Word2Vec would be a suitable vector to use, on the other hand if you have a word and you are trying to come up with a new sentence with it then   skip-gram Word2Vec will be useful.
Take a look this lecture notes for more information.