This is about how you (the developer, or a team of developers) decide to model the problem (i.e., how you decide to view and represent various elements involved based on your understanding of the problem and the relationships within).
That means that the same example can be under different circumstances modeled in two different ways (e.g. in a racing game, ...
Aggregation is defined by UML as a „property that has a shared semantic“ (section 9.5.3):
Indicates that the property has shared aggregation semantics.
Precise semantics of shared aggregation varies by application area and modeller.
This is rather vague:
It is generally understood as a part/whole relation, with parts that can potentially be shared. ...
Composition means mine! Keep your hands off.
Aggregation means look what showed up here.
Association means look what I can find.
Let's try giving these examples some actual stories.
If a car is composed of tires it means those tires belong to that car and nothing else. No sticking them on bicycles. When the car gets crushed in the junk yard the tires are ...
Some times an aggregation with no members makes sense... Imagine that one of the classes on your system represents a movie. And you want the system to keep the Actor credited in the movie. Does a movie without actors make sense? Yes. It could be some silent animation or other artsy stuff that manages to have no actors.
I find that a better text book example ...