Why do we have _exists() function in ERC721?

Why do we have _exists() function in ERC721? I think it is unnecessary (probably I am wrong, just want to know why).

function _exists(uint256 tokenId) internal view virtual returns (bool) {
    return _owners[tokenId] != address(0);
}

Because default values for _owners mapping is address(0).

mapping(uint256 => address) private _owners;

What I am missing?