Also, most apps will use an abstraction like QT or GTK, so will work with any backends supported by those.
b) having to tell every application whether to use X or Wayland would be a pain.
c) numerous applications simply won't work on X unless they're written to use it; most obviously anything that performs video playback. Not that video playback to a remote X server makes much sense of course .
To me, when the IT hype is heading back to the centralised server, thin client idea, throwing away all the features that were designed into X precisely in order to support that concept the last time it was going to be the future seems freaking insane.