From the dark-patterns description (emphasis added):
A design pattern which is carefully crafted to accomplish some result but does not have the user’s interests in mind.
In other words, a dark pattern is an aspect of a user’s experience in which they are intentionally taken advantage of; the site/developers are not designing an experience best suited to meet their customers’ needs. Instead, they have contrived one in which their own wants (or stakeholders’ desires) take priority.
Dark patterns can emerge through a number of ways. A non-exhaustive list of strategies includes:
- lack of transparency to the user as to what the status of the system is
- confusing wording or interfaces
- hiding options or settings out of plain view
- preselecting options that the user may not want
- presenting upgrade paths as if they are necessary for basic functionality
- making it particularly difficult to cancel a service
The solution to avoiding dark patterns, naturally, is to simply not design in a way that attempts to usurp users of their power of choice.