Three nice things about using subdomains are that you can:
a) point a single account's DNS to an entire server (or cluster) without forcing all traffic to a specific machine or proxy
b) offering custom domain names to customers is simply a matter of adding a DNS alias
c) don't have customer URLs "polluting" your app's URL namespace
At least IMHO, could be wrong though. :)
edit: abcs