Do you want to make *predictions* using your model, or do you want to conduct a *simulation*?

The simple linear regression model is

$$
Y = \beta_0 + \beta_1 X + \varepsilon
$$

and what we estimate is the conditional expected value

$$
E(Y|X) = \beta_0 + \beta_1 X
$$

assuming that $Y|X$ is normally distributed with $\mu = \beta_0 + \beta_1 X$ and some standard deviation $\sigma$.

If you want to make **predictions** from your model, then given new value $x^*$ as your prediction for $y^*$ you take

$$
y^* = \hat\beta_0 + \hat\beta_1 x^*
$$

so you predict what you were estimating, i.e. the conditional mean. 

On another hand, if you want to **simulate** data according to your model, then you would draw samples from the normal distribution

$$
y_\text{sim} \sim \mathcal{N}(\hat\beta_0 + \hat\beta_1 x^*, \, \sigma)
$$

The difference is that simulated values account for the "noise" $\varepsilon$. "Noise" is something that is unknown to you, it is random around the mean, so you do not include it in your predictions. You include the noise in your simulation, since when simulating, you want to imitate the randomness related to your model. So when prediction, you answer the question *"what is your best guess, what will happen?"* and when simulating, you answer the question *"what could possibly happen in any circumstances?"*, those are different questions.

As image is worth thousand words, the following plot shows predictions from the linear regression model (red dots) against the data that was used to estimate the model (blue dots) and the values simulated according to the the model (gray dots).

[![Regression: data vs fitted values vs simulated values][1]][1]


  [1]: https://i.sstatic.net/JDdCY.png