In a app we’ve built, contacts can be associated with many organizations, but be listed as “Primary” for only 1 organization. We needed a way to display the primary organization for the contact record. We were using workflow automations to update a text field in the contact record but it was slow and we ran into edge cases which would have required the building and managing of more than a handful of workflows just for this one task. We decided to use a rollup on the collection of organizations the contact record is tied to, creating a delimited text string (with concatenate).
It would be nice to have access to things like array functions (SPLIT, ARRAYJOIN, FILTERARRAY, etc.) to handle more complex formula logic. In the end we opted to build the concatenated string in a way which would allow us to use substitute. However, this still required the use of 2 workflows, but better than the 5 or 6 we thought we would need to build to handle all edge cases.