The version of Cpanel that I used in the past was a hack, full of bugs, containing numerous poorly-written scripts that ran many commands without checking their exit status. It was a nightmare to administer. Its only redeeming value, so far as I could tell, was that it was early in the market at a time when web-hosting was exploding. They seem to have acquired a much better reputation for reliability more recently, but that doesn’t mean that the underlying design is any good.
In Cpanel, the first domain assigned to a user was special, and could not be deleted.
Suppose you have a user Bob, login name bob, who begins with the domain bob.example.com. He later adds joe.example.org and jerry.example.net to his account. Now he has three websites.
Later, he decides he decides to give up, or transfer to somebody else, the domain bob.example.com. He naturally wants to delete it from his own account. But to do so, he must delete his entire account, including all other domains, and then sign up for a new one and add back joe.example.org and jerry.example.net to his new account.
Virtualmin GPL, too, imposes the same unnecessary restriction, which is why I suspect Virtualmin GPL was modeled after Cpanel. Since Virtualmin has existed for many years now, it might be hard to change its design now. I rather like the DirectAdmin model, where a user can add or remove domains in any order.