A page is finished when it fully satisfies its query’s intent and meets the SERP’s bar with no real gap left, and it needs more when a genuine gap remains. The test is not whether the page is exhaustive or whether you have run out of things to add. It is whether the page answers the question the searcher asked as well as or better than the results already competing for it. Finished is defined by the query, not by your stamina. Once the intent is met and the page holds its own against the field, more material is not improvement, it is padding.
The page needs more when there is a real gap you can name. That gap takes a few shapes: a genuine sub-question the searcher would have that the page leaves unanswered, an edge a competing page has that yours lacks, or a missing angle of information gain that would make the page distinctly more useful than what already ranks. Each of these is a concrete, identifiable shortfall, not a vague sense that the page could be longer. If you can point to what is missing and why a searcher would want it, the page is not done. If you cannot, adding more only dilutes it.
This sits between two failures. One is the urge to keep adding until the page is exhaustive, which buries the answer and pads the page past the point where it serves the query better. The other is publishing and walking away, leaving real gaps unaddressed because checking felt optional. The pivot is fully-satisfies-the-intent-and-SERP-bar versus a real gap remaining. Judging finish against the query’s bar keeps you from both over-building and under-serving, because the standard is the searcher’s need, not your effort.
To apply the test, return to the query and ask whether the page satisfies its intent and clears the bar set by what already ranks. List any real gaps: unanswered sub-questions, competitor edges, missing gain angles. If gaps exist, close them. If none do, the page is finished, and you should stop rather than add for the sake of adding. Measure done against the query, not against exhaustion.