I don't understand what this is for. Could someone suggest some use cases?

Is the idea that you can write an app in a language which is a subset of Java, then deploy it onto multiple different platforms? Given that you can already do that with actual Java, what's the advantage? Is it just that you can deploy on iOS, where there's no JVM?

In general, one of the challenges of delivering commercial software is dealing with the various ecosystems of your customers. Customers may have different versions of Java installed or none at all. Avian allows one to bundle everything required to run a Java application into a single executable and simplifies the problem such that many of the unknowns related to delivering the Java application disappear.

Also, keep in mind that Avian predates at least some of the other solutions to this problem. You could use something like https://github.com/libgdx/packr as well.