Most teams use incremental design and iterative processes interchangeably, and in practice, they often go hand-in-hand. But there is a difference between the two terms.
In an iterative process, your team works to refine and improve your project based on feedback or new information. The key to the iterative process is trial and error: the project gets better over time as a result of these changes.
In incremental design—sometimes called incremental development—you will add new features and build better things on top of your first version or deliverable. To run an incremental design process, teams will purposefully produce a bare-bones version of their ultimate project deliverable in order to get it out the door as quickly as possible (like Facebook’s old mantra—move fast and break things). Then, the team will iterate and improve upon the initial version by creating increments that include more features than the initial version. They will continue to do so until their deliverable has all of the functionality it needs to have.
Most teams that use iterative processes use incremental design and vice versa. Good iterative processes are also incremental so that you can continuously improve on your original deliverable. Good incremental design is also iterative because you need to be able to respond to customer feedback and pivot if necessary.