\vspace is essentially a LaTeX wrapper around the primitive
\vskip, but it sports a few differences.
\vspace doesn't end a paragraph, while
\vspace has the *-variant, which
\vspace protects the user from possible ambiguous input (see What is the difference between \vskip and \vspace? for an example).
So the answer is: use
\vspace, but always precede it with a blank line (or a
\par command) when you want to separate with vertical spaces two objects.
\vspace* should be used at the top, otherwise this space would vanish at the page break (and even the first page is considered to come after a page break: computer scientists always start counting from 0).