Mostly with people setting up bogus domains they don’t own, causing problems for the legitimate users.
Suppose you are the owner of a nice domain and you want to host it here. But someone else, who also thought it was a nice domain, thought they could use that domain by simply adding it to their account. However, you own the domain and want to host it. But you can’t add it, because the domain name is already “in use”, by this other person who doesn’t understand how domain registrations and hosting relates.
With a paid hosting service, you can typically contact the hosting provider, who will check the domain ownership and can remove the domain from the other account. But on free hosting, we don’t want to waste staff time on that.
And then there are the cases where someone adds a popular domain, like gmail.com. I know that this happened on another provider once, because all email to @gmail.com addresses didn’t end up at Gmail, because the domain was configured for local delivery instead. In other words: all emails to Gmail were being delivered to that hosting account.
I agree that the current method of domain verification is a bit blunt. But I do believe that some kind of automated domain verification is necessary.