The kernel targets the Windows NT 5.2 (Server 2003 + XP 64-bit) ABI, which is backwards compatible with NT 5.0 (2000) and 5.1 (XP) drivers as well.[1]
The userland API and ABI always targets the current version of Windows, which is presently Windows NT 10.0 (Windows 10 + Server 2016)[2], and should be backwards compatible with applications designed for any previous version of NT (there's some support for DOS, 16-bit Windows, and Windows 9x too. Thanks to borrowing code from Wine, it tends to actually have a higher compatibility with applications from these eras than the current version of Windows does!)
[1] In general, Microsoft Windows x.y versions tend to be backwards compatible with drivers for all previous versions of X. For example, Server 2003 is 5.2, thus backwards compatible with 2000 and XP drivers. Windows 10 is a special case now; unless declared by an application manifest as explicitly Windows 10 aware, it lies to applications by claiming to be Windows 8.1, or NT 6.3. This way, driver installers can see that first component of the Windows version being 6 and assume compatibility; Windows 10 is still compatible with all drivers from Vista, 7, and 8.x, even though they bumped the internal version to 10.0 to match the marketing name.
[2] As of the present, this only applies to the classic Desktop APIs. Support for Metro/Modern/Universal (whatever name they pick this week...) is not planned nor in development. Given the very limited set of apps (pretty much just Google Chrome) for this API outside of the Windows Store, I don't find it likely this will change.
Disclaimer: I am not an authority of ReactOS, I've just followed the project for a long time. I need to figure out where this info has gone in the current web site design...