I agree with this 100%. In fact, I think it would be very dangerous to require that plugins delete everything that they have stored in the database.
Imagine the situation of a user who finds something has broken. S/he panics, and deletes the plugin s/he guesses might be responsible. Now a minor problem has potentially become a disaster, because all the stuff that s/he needed, that was previously stored tidily in the database, gets deleted. Yes, s/he might have a backup, but there’s no way to know that.
So I’d be absolutely opposed to requiring that plugins delete all the data they recreate when they are themselves deleted. A better way to do this, in my view, is to encourage plugin developers (a) to explain what data their plugins create and store so that users have an opportunity to understand the issue, and (b) to provide an option that requires an affirmative decision by a user to have all such data deleted on plugin deletion. But the default would normally be to leave the data where it is.