The same group of fields travels together everywhere — (street, city, zip), (start, end), (firstName, lastName) — appearing as parameters, class fields, interface properties, or method args.
The clump becomes a value object with its own name and its own behavior.
Smellier version
function send(name, email, street, city, zip) {// ...}
Fresher version
class Address { /* street, city, zip */ }function send(name, email, address) {// ...}
Adding or removing a field of the clump means touching every site; the clump's identity is invisible.
Introducing the value object forces every consumer to construct and destructure it; for short-lived clumps the ceremony can outweigh the gain.
Operations on the clump (formatting, validation, equality) live with it; method signatures shrink.
Wrapping field groups that don't actually represent a coherent domain concept — the object exists only to shrink signatures and has no real behavior to attract.