Utilities provide the building blocks for layout and handle a range common use cases that help us avoid writing custom styles. When we need to add some margin or padding, rather than adding a new selector specific to that use case, we can use utilities. This helps us reduce the number of unique property-value pairs, and helps us keep more consistent styles across the site.
Utilities should do one job well and one job only, are immutable, and on occasion are an acceptable approach to overriding component styles.
Utility class-names should be transparent and clearly describe the job they do.