Кто-нибудь может объяснить в чём разница? Или где почитать про это?
HSQLDB InMemory и HSQLDB File - это режимы in-process, когда сервер БД работает в том же Java-процессе что и ваше приложение. См. In-Process Access to Database Catalogs
HSQLDB это режим отдельного сервера, ваше приложение подключается к нему через сеть как например к PostgreSQL. См. Server Modes