While no one on TBN has inside knowledge, I imagine, Microsoft never directly charged the end user enough to recoup their costs. Microsoft made their money from manufacturers who bundled Windows on their PCs versus people who upgraded the OS on an existing PC. Additionally, in some situations, MS is charging for Windows10. Why is it free? In my opinion, it's an effort to get more people on the same version of the OS. Windows8 was a disaster and a lot of people stayed on Win7, particularly corporate customers. Win8.1 was a band aid, which did not convince many people to leave Win7.
Win10 cleans up the Win8.x mess on both PCs and tablets.
As a frame of reference, Apple typically doesn't charge for OS upgrades, or they charge a nominal amount. So, upgrades you're not charged for (they are not 'free', someone, somewhere, at some time pays for it) are not unusual.
If they attempt to recoup via 'forced advertising', people will reject Win10 and there will be a crop of programs created to block this.
IMO, upgrades are not 'good' or 'bad', rather the product either meets your requirements or it doesn't. I have never understood the 'anger' some people have around a vendor or operating system. Have a Windows tablet, e.g., Surface 3, you should upgrade. Have a PC/laptop without a touch screen? Maybe Win10 is not for you.