*This post was updated on 1/27/2016.
A choropleth map shows a change across a geographic landscape within enumeration units such as countries, states, or watersheds. A heat map shows a change across a geographic landscape as a rasterized dataset–conforming to an arbitrary, but usually small, grid size.
The heat map is sometimes generated from point data representing some sort of density but a choropleth can also be generated from point data. The difference here would be that the choropleth’s generated data will be by a non-regular enumeration unit that makes sense to people like countries, states, watersheds, counties or census blocks. A heat map would be depicted across a regular grid of cells, their size specified by the cartographer, but in any case, uniformly calculated.
Because the grid cells are normally quite small, the heat map’s colors are often “ramped” algorithmically as opposed to being specified as a set of discrete colors. The opposite is true of choropleth maps.
Both types of maps tend to require color palettes that represent values that range from low to high (sequential colors), or palettes that represent values that range from high to normal to the opposite high (diverging colors).
It should be noted that choropleth maps can also depict nominal data, though you aren’t likely to be confusing nominal choropleths with heat maps since they don’t depict low-to-high values. Instead, they use qualitative color schemes to represent non-ordered data.
See also: Choropleth Limitations