Aside from the obvious, that the refit looks better on the big screen, why would a ship nearly twenty years old get such an extensive makeover as opposed to being demolished and replaced with a fresh vessel?
Even if we ignore retconned details about Enterprise's
age, it's still not entirely clear why the ship got a refit instead being replaced outright. A few of the novels suggest that Starfleet had been wanting to try out several new designs on already existing ships because it would be less costly in terms of manpower and equipment. Others merely make the argument that the Enterprise
is more or less a new ship even though bits and pieces of the old vessel's configuration were recycled into the new body. But it's never stated clearly on screen why the refit happened. We just know that it did.
Interestingly enough, Nick Meyer and Harve Bennett seemed to ignore the refit. Meyer went so far as to suggest that the Enterprise
actually looked the same as she did during the television series but they were now able to show it (similar to Roddenberry's explanation about Klingon ridges) because of a bigger effects budget. This would explain why the ship was headed for mothballs before Kirk stole it from spacedock in TSFS. Roddenberry hated the idea and also threw a fit when Bennett told him they were blowing the ship up. But I digress...
Christopher has an interesting take on some of the political reasons behind the refit with certain Starfleet officers using it as an excuse to get their hands on the ship's engine components for reasons I won't elaborate on here. I'll let Mr. Bennett comment if he so chooses.