The map_heights.hgt file contains basically the same information as the map_heights.tga pre-converted into a format the game recognises. It allows more variation in height increments than the map_heights.tga as it uses float decimal values instead of just the 0-255 values possible using the RGB values in the tga. The vanilla map_heights.hgt has a maximum float value for the highest point of 7511.27 this corresponds with the max land height in descr_terrain.txt which is given as 7511.272. If a map_heights.tga is not used and the descr_terrain.txt retains that setting the game will interpret an RGB value on map_heights.tga of 255,255,255 as approximately 7500, with other values using an approx 29.5x multiplier.
The map_heights.hgt file is not strictly required for most versions of Rome or Medieval II - Total War. The file does not re-generate on its own if it is deleted; unlike the map.rwm file. A new version of the heights.hgt can be made using Alpaca's TGA-HGT Converter and via IWTE.
A map_heights.hgt file was required for RTW /BI versions 1.3 and 1.4 - however these versions are largely superseded by patches 1.5 and .1.6.
Minor amendments have to be made to the Medieval II - Total War map to allow it to load without the heights.hgt. Using a map heights.hgt for the game can improve the appearance of the coastline as it allows more widespread use of 'low land' with RGB near 0,0,0 and more subtle graduations of height which can help smooth or curve the coastline.