Es muy muy potente y tienes librerías para casi todo; uno de los untos débiles es q si quieres redistribuir la aplicación para q funcione en otro Pc sin preocparte de si tiene instalado Java, el instalador incvluye el java runtime y son unos cuantos megas; otro puede ser que el UI es un poco anticuado digamos (responsabilidad de javafx), pero se puede parametrizar con .css.
Si programas en B4A, el código es casi idéntico y puedes diseñar el core en b4j y luego traspasar el código a b4a/b4i.
Que tipo de aplicación estás pensando porgramar en B4j?