When you first start to think about personalizing your marketing you quickly run into the idea of segmenting your customer base.
Basic personalization like adding the customer's name to an email is useful but it's not that effective. You often need something more powerful which is where segmenting comes in.
Changing what messages and message content the customer sees based on their behavior, that's effective. That's where a customer who bought a dog bed in the past would be sent marketing for other dog products and where you'd feature dog imagery instead of cats or guinea pigs. That customer belongs to the "dog" segment.
Segmenting is just grouping customers based on some behavior or attributes.
Did they buy a dog product?
Have they bought in the past year?
Have they bought more than once?
Have they bought a dog product in the past year and first bought during December of 2019?
What behavior and attributes you segment by matters a lot and will depend on what your marketing goals are. Some are universal for all stores though (like #2 and #3 above). Those universal segments that can be created automatically using software using your customers. Often without you needing to do any data input or knowing how to build the segments.
These universal segments lets you take advantage of more powerful segmenting options that would be difficult to build by hand. Much like the RFM segmenting model used by Repeat Customer Insights. RFM is not a difficult model to understand but assigning scores to each customer gets complicated fast.
Just remember that customer segmenting is just a fancy way of grouping customers based on behavior or attributes. Which attributes you use depend on your business goals. The difficultly of segmenting will depend on how much work it takes to get those attributes for each customer.