In Metro rings, typically most of the traffic goes from the nodes on the ring to a head end.
When the traffic on the ring is low (compared to the size of the links) it is obvious that the “most-efficient” solution is to build a ring of point-to-point connections between the nodes. When the traffic is high, it is equally obvious that the “most-efficient” solution is to connect every node directly to the head-end aggregation router(s) in a star or double-star "hub-and-spoke" formation.
Where it gets interesting is when you are some place in between and when there is at least some local traffic between the nodes on the ring, as well as the main traffic direct to the head-end(s). How do you mix point-to-point connections along the ring with direct connections to the head-end in the most efficient way?