Concerns are modules you can use to extract code out of models and controllers. This is useful for various reasons. An obvious one is that this makes things skinnier, which we’ve already established is good. Another is that you can use these concerns to mix into other models and controllers
While it is definitely good to have a slim controller for sake of code reusability, readability, and testing, it is also good to have a skinny model (for the exact same reasons). In fact, its just good to have a skinny everything.