It's a little bit complicated. Unlike Apple,
MS is not a hardware company. It has Surface/Lumia/Xbox and peripherals but it's a software company.
This means it needs OEM partners to sell its software. From this point of view MS is a lot like Google.
My guess is that it Windows 9 won't be free for those who bought it in stores or got Windows 8/8.1 laptops.
However, MS can and I hope it will make the update free on Surface.
When it comes to phones and tablets things are more or less the same. OEM partners license the OS to put it on their hardware.
MS however made Windows license free for devices below 9", meaning all phones and 80% of Windows tablets. But again, MS needs those OEM partners to sell it's software, in this case to deliver it.
Don't forget that Android is a free and more over open source OS yet most phones/tablets manufacturers block the updates. Even high end devices such as Galaxy series only see 2 updates on their initial release and 3 on the Neo (or whatever they call the re-released) devices. And since those come with more or less same Android version, this means +1 update from the original device.
The thing is that since Windows is not open source like Android (1) and updates come through built in system directly from MS (2), it might make it difficult for manufacturers to block them but not impossible. On Android manufacturers start building custom firmwares and build in tons of themes and bloatware to prevent the users from updating. I guess we can only hope they won't go this far because if they do they risk in turning WP into Windows Mobile/Android 2.0.
They can however talk Microsoft into blocking the updates for those devices themselves otherwise threatening to ditch WP
/WP tablets. And since MS needs Windows running everywhere, they will do it.
Leaving that aside, I guess at least Lumia devices will get the update for free except maybe low end devices.
But this is just my point of view.