It comes down to how you would judge the quality of your model. The general approach most would agree on is that a good prediction model minimizes the unexplained portion, or errors (predicted - observed value). You could define a model that minimizes the errors overall. Or you could define a model that minimized the sum of squared errors ($\hat{\epsilon}$) overall $\sum_{i=1}^N\hat{\epsilon}_i^2 \rightarrow Minimum$. This last version is the least squares method and, if all assumptions are met, it will come up with the best linear unbiased estimator (instead of e.g. your means ratio).
Basically, taking the average of the house price by square meters will not minimize your prediction error as it can not accommodate large departures from your average house price per square meter. Only least squares, i.e. minimal sum of all squared deviations of your predicted value minus the observed values, comes up with a line that fits your data cloud best.
For a minimal example in R consider this:
hp = c(500, 750, 800, 900, 1000, 1000, 1100)
sm = c(100, 120, 130, 130, 150, 160, 165)
with house prices (hp) and square meters (sm).
When plotting, you obtain a figure where increasing sm goes hand-in-hand with increasing hp

Now, you could do what you suggested:
apsm = mean(hp/sm)
That is, you divide hp by its sm and take the average to obtain the average per squre meters (apsm).
To predict a the house price you could obtain a vector of predicted values pred ($\hat{hp}$)
pred = apsm*sm
Your predicted line now looks like this:

The problem with this line is that it is not the line that minimizes the error (hp-pred = error). Or to be more precise, it does not minimize the sum of all your squared errors.
If you were to run a linear model with eg.
lm(hp ~ sm)
your fitted line (red) would be different and it would be more efficient and unbiased:
