The answer is easy: you should never use \vskip in a LaTeX document. The only precaution to be taken is adding a blank line before \vspace when the vertical space is meant to appear between paragraphs, which usually is the case.
However, \vspace can also appear in a paragraph and the vertical spacing will be applied below the text line where the command finally happens to fall: think of it as an invisible “word” that extends below the baseline (but this space will disappear at a page break anyway).
There are several reasons for not using \vskip (except, maybe, in basic LaTeX programming):
- it's easy to add a * where needed;
- it's easy to change
\vspace into \addvspace (when two consecutive \addvspace commands, that are usually issued by macros rather than directly, only the largest one prevails);
- the syntax conforms to the traditional LaTeX one and a
\relax is placed by default behind the scenes, thus avoiding some possible problems that, by Murphy's law, will show as very weird errors.
Similarly, never use \hskip in a LaTeX document, but prefer \hspace which avoids head scratching in cases such as
text\hskip 1pt plus other text
Try it. ;-) Then you'll switch to
text\hspace{1pt}plus other text
Notice that \hspace{...} should not be preceded nor followed by a space, because we're overriding TeX's rules at that point and we probably don't want other spaces to begin with.
;-)– egreg Jul 31 '13 at 13:19