Some back-and-forth is a normal part of client work, but "unlimited revisions" as a stated expectation almost always ends badly for the freelancer, since there's no natural stopping point built into the agreement.
The fix starts before the project begins, not during it. Build a specific revision count into your contract or estimate, for example two rounds of revisions included, additional rounds billed hourly or per round. This turns a vague expectation into a concrete, enforceable number.
If you're mid-project with a client who keeps requesting changes, name it plainly and kindly: "that's outside the two rounds we scoped, happy to continue as an added round at [rate]." Most clients respond reasonably to a clear, calm statement of the existing agreement, the ones who don't are the ones this clause is actually protecting you from.
Use the change order generator to document any extra rounds in writing so both sides have a clear record of what was agreed beyond the original scope.