Why doesn’t \linespread work?

The command \linespread{factor} is supposed to multiply the current \baselineskip by ‹factor›; but, to all appearances, it doesn’t.

In fact, the command is equivalent to \renewcommand{\baselinestretch}{factor}: written that way, it somehow feels less surprising that the effect isn’t immediate. The \baselinestretch factor is only used when a font is selected; a mere change of \baselinestretch doesn’t change the font, any more than does the command \fontsize{size}{baselineskip} — you have to follow either command with \selectfont. So:

\fontsize{10}{12}%
\selectfont
or:
\linespread{1.2}%
\selectfont
Of course, a package such as setspace, whose job is to manage the baseline, will deal with all this stuff — see “managing double-spaced documents”. If you want to avoid setspace, beware the behaviour of linespread changes within a paragraph: read “\baselineskip is a paragraph parameter”.
setspace.sty
setspace