Plausible reason why Windows is version 10.
http://blogs.msdn.com/b/oldnewthing/archive/2004/02/13/72476.aspx
Windows Vista : 6.0
Windows 7: 6.1
Windows 8: 6.2
Windows 8.1: 6.3
What a disaster in numbering for the sake of application compatibility.
Windows 8.1 is really Windows 9.
People joked about it, but the whole "some programs would mistake it for windows 95/98" definitely would happen if they called it "Windows 9", specially in programs written in Java and other high-level cross-platform languages/frameworks.
Reading Windows' version number is particular to Windows. Many developers using platform-agnostic languages/frameworks rely on reading the OS name to do their platform-specific tasks. This shouldn't be a problem for applications written in the past 10 years, because almost nobody even bothered checking for win9x, but there is older software in the wild that does that. Worse it, they might check for win9x to warn the user the software is
not compatible with win9x and refuse to run. Even worse, that's most likely to be very expensive enterprise/corporate software that some huge company still uses to this day (this is the whole reason IE has such a hard time moving forward and can't abandon ActiveX, for example).
So, there would be compatibility issues calling it "Windows 9". However, they didn't have to call it "Windows 10" and could have come up with a name that isn't based on a number instead, like XP, ME and Vista were.
What's with 8.1 with a 6.3 marker instead of keeping 6.2?
I think it's because 8.1 is actually a new kernel under the hood. The 8.1 update process is not the same as a Service Pack update (which is just a bunch of Windows Updates rolled in a single installer): it actually performs an in-place OS upgrade just like the one you can do from Vista to 7 and from 7 to 8.