According to the ncurses FAQ, xterm-color is long obsolete:
Originally, xterm-color corresponded to the color_xterm from the mid-1990s. That was superseded by XFree86 xterm in 1996.
and the terminal database gives details. It was originally intended as a generic terminal description, but from the outset that never was successful because it did not match XFree86 xterm, in particular the color behavior (i.e., the back color erase feature). No one uses nxterm now.
The xterm-256color terminal description is built up from the (XFree86) xterm terminal description by modifying the color behavior (adding more colors, but not the background color erase feature. Use infocmp to see the difference:
$ infocmp xterm-color xterm-256color |wc -l
122
$ infocmp xterm xterm-256color |wc -l
14
$ infocmp xterm xterm-256color
comparing xterm to xterm-256color.
comparing booleans.
ccc: F:T.
comparing numbers.
colors: 8, 256.
pairs: 64, 32767.
comparing strings.
initc: NULL, '\E]4;%p1%d;rgb\:%p2%{255}%*%{1000}%/%2.2X/%p3%{255}%*%{1000}%/%2.2X/%p4%{255}%*%{1000}%/%2.2X\E\\'.
oc: NULL, '\E]104\007'.
rs1: '\Ec', '\Ec\E]104\007'.
setab: '\E[4%p1%dm', '\E[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m'.
setaf: '\E[3%p1%dm', '\E[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m'.
setb: '\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m', NULL.
setf: '\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m', NULL.
Because xterm-color was obsolete, it was largely ignored until some (anonymous, of course) developer at Apple decided to reuse it for Terminal.app (in 10.5 Leopard), although it was a poor fit. The nsterm-16color description in ncurses was contributed by someone (apparently outside Apple), to match the 10.5 behavior. Although xterm-color uses 8 colors, nsterm-16color as one might guess uses 16. Perhaps that contributed to users' confusion. In any case, the choice of terminal description for Terminal.app had no effect on Terminal.app other than to set the TERM
environment variable, which many applications use to decide how to use the terminal.
Interesting enough, although much of the MacOS userland is from the BSDs, its ncurses configuration is not. MacOS has tic/infocmp utilities, unlike the BSDs (though Apple has not updated it for more than ten years: ncurses 5.7 was released in 2008). In later releases of MacOS, Terminal.app's developers changed the menu to provide "xterm-256color" rather than "xterm-color". That did not improve the user experience because the terminal behavior using the corresponding terminal descriptions was still different. The ncurses FAQ mentions that:
Additionally, Mac OS X 10.7 is reported to use xterm-256color as a default $TERM value. This differs from xterm-color in several ways, in particular, the support for bce. It also differs from the recommended nsterm-256color (infocmp reports 111 differences).