It's probably a trade off between the ease of maintenance vs. what the customers want. Putting all the data in a single database may make it easier to roll out fixes and update the schema, but your customers might not like the fact that their data is mixed in with other customers' data, and you may end up with more of a single point of failure for all customers.
Doing separate databases will give you isolation between customers, but will require you to roll out fixes to every database if the need comes up.
You could consider supporting both options, in a similar model to web hosting. You could offer a "shared" environment where, you put multiple customers on the same database for a little less money, and also offer a "dedicated" option, where you isolate customers for a little more money.