But it is not without cost to Apple's brand reputation. It is painful to upgrade to a new machine when a few hundred dollar RAM upgrade would have given the old machine 1-2 years of additional useful life.
Some customers don't realize this, but for those who do it makes Apple seem greedy and not concerned with value or the investment of the customer's dollars in its ecosystem.
Apple sells under-powered machines to naive customers who then need to upgrade sooner. It's really sad that one of the great tech companies employs used car salesman style deception into its pricing structure and aims it at the least informed of its customer base (grandmas and people who can barely afford it anyway).
This is why people hate capitalism, but it's actually greed and shortsightedness that they should hate. Competition should make tactics like this unsustainable, but Apple has a lof of entrenched advantage and employs many questionable forms of anticompetitive behavior to create lock-in. Overall it's bad citicenship due to tremendous greed.