I know that the difference between the GARCH and the Heston model is volatility vs variance in the stochastic part of the volatility sde. However,from my solutions, there is only ever a 2 - 10 cent difference at most in most evaluations of the different models. Therefore why is heston more commonly used than GARCH and what makes one model better than the other?
Heston gives an expression for the characteristic function, from which option prices can be computed. Therefore it can be calibrated (statically) on a set of vanilla option prices with different strikes and maturities. Hence this produces risk neutral parameters that can be used to price other more exotic products. However, it is a pain to estimate the physical measure parameters using time series of the underlying. Hence not popular for econometric applications, used e.g. for risk analytics. This is because volatility is latent (not directly observable) and has to be filtered out. Also it is set in continuous time.
Garch is roughly the opposite. It gives a nice variance recursion that facilitates maximum likelihood estimation, based on historical time series. It captures historical volatility fluctuations nicely. Hence estimates are under the actual (physical) probability measure, and this makes it popular for risk applications. Not useful option pricing formulas, as it is set in discrete time therefore no-arbitrage arguments not applicable. Therefore not really used for calibration to options in a static way, like Heston.
This is a high level view that covers the industry practice. For every sentence above, one can raise her hand and shout "there is this and that paper that do it".