This abridged article originated from a blog post authored by Adam Greco. The full text can be found here: Using Custom Variables vs. Segmentation in Adobe Analytics.
Both custom variables and segmentation are used to view a subset of data, but they do so in different ways. This article provides a breakdown of how to think of these separate features in proper context.
In daily use, custom variables are dimensions, taking the form of conversion variables (eVars) and traffic variables (Props). These variables are used to track specific points of data that are meaningful to your organization.
While powerful, a downside custom variables have is that activity is only tied to their values from the time they are set and afterwards. If you are looking for actions leading up to a custom variable being defined, you cannot do it with custom variables alone. Ideally you'd want to set as many of your custom variables as early as possible in the visit. However, there are always cases in which success events occur before a custom variable receiving a value.
Segmentation allows you to narrow down your data set to only hits, visits, or visitors that meet your segment definition's specific criteria. This feature allows you to instantly focus on the exact population you care about. Segments can use any out-of-the-box or custom variable dimension to filter the exact subset of data you're looking for.
A reason why segmentation is so powerful is that when you use a visit or visitor-based segment, you can include all data that took place within the session. Custom variables alone can only look at data that took place after a value was set. This feature allows valuable insight into instances where success events were triggered before custom variables.