If a field has unlimited cardinality, then it is always displayed with one input too many. For example, I added a textfield named "Labels" to a content type and gave it unlimited cardinality. I create three label values, as illustrated here:
Then I Save the form and go to Edit it again. When I do, one extra Label input has been added, even though I have not clicked the "Add another item" button. And there's no way to get rid of this extra input field:
I searched to see whether this was an open/known issue and found something that seems similar, but I don't think it's exactly the same: Issue #2548711: Adding unlimited field of widget type 'text' to content type will produce a form with more then 1 input fields. I apologize if this is actually a duplicate.
Also, I wasn't sure whether to report this as a "Feature request" or a "Bug report", but I've been told that this is actually a serious issue with respect to accessibility. Apparently, for things like screen readers, having an extra unused text field can create confusion for users.
I tracked the source of the "bug" down to a single line in the WidgetBase class and will create and post a patch in a subsequent comment. It looks like an off-by-one error to me, with respect to the difference between how the number of elements is calculated for a fixed, multiple cardinality field vs. how the number of elements is calculated for an unlimited cardinality field. But given how extensively WidgetBase is used throughout Drupal, it's quite possible that this is not a "bug" at all but rather an unavoidable consequence of some functionality that is necessary for unlimited cardinality field widgets. At any rate, given the possibility that this is a bug and that is is important for accessibility, I figured I'd go ahead and open this issue.