I've always thought of CTEs as a code organisation tool, not an optimisation tool. The fact the some rdbms treats them as an optimisation fence was a bug, not a feature.
Improved readability is definitely the primary benefit.
Improved readability is definitely the primary benefit.