You certainly could but why?
If user has a typo then they don't get credit for their funds?
It is too easy to generate a unique address for each user.
I see your point, I just figured it would be just as easy to copy/past unique address as it would be a unique payment. And user would still get credit, it would just take longer.
Another advantage is that I can store my wallet offline; wouldn't I have to have my wallet.dat file on server if I wanted to generate unique addresses?