(1) TCP's congestion control is an algorithm. It maintains a variable "congestion window", and it has rules for increasing or decreasing this variable based on the acknowledgement packets that come back.
(2) TCP's congestion control is a mechanism that results in the outcome "throughput = sqrt(2) / (RTT * sqrt(p))", where p is the packet drop probability.
(3) TCP's congestion control is a system that results in the available capacity of a network being shared between all the active flows. Specifically, it acts so as to maximize a "total utility" function, subject to network capacity constraints [1].
These three levels of description are all true, all at the same time. When you ask "why did TCP give me this much bandwidth?", the 'why' can be answered at any of the three levels, and different levels will be useful for different purposes. Level 3 is close to 'purpose' and level 1 is close to 'cause and effect', but I think those labels get confusing especially when we talk about the intention of the designer. (In the case of TCP, the level 3 purpose-style understanding of TCP only came about in the late 1990s, long after TCP was invented and deployed.)
IANA philosopher ... but these levels of explanation go back to Aristotle. I think level 1 is the "efficient cause" (it happened because of an action), level 2 is the "formal cause" (it happened so as to achieve a certain form), level 3 is the "teleological cause" (it happened to achieve a purpose).
When I read the article in the light of this three-level picture of TCP, it seems to me that the "purpose" view of a system, which I take to be level 3, is just one of several equally valid views, not more nor less important than the others.