Choose the best way to classify your customers will enable you to have a better action in your short, medium and long term strategy.
Stages enable you to follow the customer according to his lifecycle. Is he/she already onboarded? Did he get the demo..? Best way to translate a stage is to consider it as a tick list to evaluate maturity.
Account stages example : Onboarding, Adopt, Mature, Renewal...
Contact stages example : Free, Demo needed, To be trained, Paid ...
Segments are designed to isolate customers behavior, independently from their maturity or their advancement in their lifecycle checklist. To make sure segment is the best option for you, ask yourself "would I want to start an action based on that activity"?
Account segment example : New reporting feature never used (the objective is to send emails to this segment to educated them)
Contact segment example : No session for one month (this will help us to send an email to ask if the customer needs help)