We use HSQLDB in production as a "no-configuration" option for our application. It allows people to trial without the hassle of setting up a real database.
However we do not support it for normal use. The reasons are several:
For at least (2) and (3), there are ways around it but it's difficult; it's much easier to e.g. install MySQL.