I wish people would stop posting the kernel API version as if it means something. The Windows group at MSFT uses the codename, e.g. "Threshold", and then switches to the official name when it is determined, e.g. "Windows 10". You never hear anyone talk about "version 6.3". The version reported by GetVersion() or GetVersionEx is more of a headache than anything else, the concern being "how many programs will we break by changing the reported value". The preferred way for client programs to test for features is to actually try to use them and see if the operation fails.
Why did MSFT go from 8 to 10? Who knows. There are plenty of conspiracy theories (issues with Germany, trying to match OSX with WinX, etc.). Maybe it was just to stir up discussion about Windows again. I'm more concerned about the this is the last major version of Windows talk from MSFT. I don't know exactly what that means ... but I don't like the sound of it.