Patrick, when printers got "cheap" the way they did that was to move the intelligence away from the printer and into the drivers that ran in the computer itself. The challenge with that approach is that the printer vendor/manufacturer now has a more key role in getting printers to work with operating systems. That old HP was a "simpler" machine in that it had the intelligence in it, just needed the data you wanted printed. It then processed that data internally and controlled the laser for the printing itself. Newer printers work the other way, with the "intelligence" in the driver and the printer taking the control of the print mechanism from the driver.
So, it's "Money" in the sense that the printer manufacturers want cheap prices, so they dumbed-down the printer, but in some cases, and particularly, it seems, with Canon, they aren't keeping up with the changes in the operating system, which "breaks" the printer when the user upgrades/updates his system. Apple tells the manufacturers well in advance of what they need to do, and they get early releases to test with, so there really isn't any reason for the printer makers not being ready when the final version is released.
And the exact same phenomenon is happening in Windows, but the printer makers are more responsive over there because the number of users is greater and the screaming gets louder if they fail to keep up. (I suppose that's "money," too.)