I've seen some sites generating a unique address for each new user to which they can send the payment, why is this? Why not use 1 address for all users?
This is so that the API can detect when that user has deposited, and would automatically credit their account or deliver the item they purchased. If you just use 1 address for all users, you would have to manually complete the transaction as the API wouldn't know which deposit was from which user.