I can think of a few other reasons:
- Not everyone uses dollars.
- The price of credits in some currency could change after you bought them.
- The price of credits could be different for different customers (commercial, educational, partners, etc)
- They can ban trading of credits or let them expire