You probably meant this rhetorically, but I'll answer it anyway,
since it is a FAQ.
Jonathan Harris writes:
PS Why can't FSF Emacs and XEmacs agree on names of new variables
and
functions?
Because they are different programs maintained by different
people with different priorities and different work schedules.
We would block their work and they would block ours if we try
too hard to stay in synch.
Cross-compatibility is overrated anyway. In my applications, I
have to use interface functions for most new things introduced in
XEmacs, not just because FSF Emacs doesn't have them, but because
older versions of XEmacs don't have them either. So FSF Emacs is
just another clause in a conditional that has to exist anyway.