Or a minimum head-up time for cancellations that's not bound to some full year cycle. There are many established ways of adding friction to cancellations that wouldn't cause any outrage at all.
But if those ways weren't good enough for Adobe and they wanted to have it both ways, advertise "cancel any time" and but still have "(you can do that, but then you have to pay in advance for the remainder of the year to do so)" or something like that in the fine print then they deserve all the hatred. And maybe even lawsuits for deliberately misleading labeling, but they probably have a legal team tweaking that communication in each jurisdiction to the exact shade of dark grey containing enough white for discouraging lawsuits.
And I suspect that the pattern/scheme doesn't pay for itself at all, that it's just the unfortunate outcome of a bad compromise between one group in the company advocating for honest monthly and another group advocating for honest annual.
If they want to honestly advertise that price then it needs to say “billed monthly with annual contract.”