If the bitcoin server is able to generate addresses for each user's account
What bitcoin server?
why do the exchange sites use temporary addresses?
Because it's best practice for any business. It allows the receiver to say, "These
10 bitcoins were sent in payment of this
invoice," because that invoice listed that address for payment.
Thanks all for the responses.
bitcoind listtransactions <account>
That command will show you all of the transactions for user with account = <account>. So you can see exactly what deposits came in for that user.
It just seems odd that these exchanges would need additional management for depositing into the account. Why not just use bitcoin's existing functionality? In addition, expiring temporary addresses for end users seem clunky. Would an end user not prefer to have a permanent address to which they can send BTC to their exchange account?