What I've found is that the main difference concerns about the code involving the views but B4J is very very powerfull ( can work easily with I/O, DB, Internet (www server, TCP/UDP protocols,websockets, integrates wih Windows,Linux and MAC, etc..)
B4X is a general name that wraps B4A, B4J, B4I, B4R, they have many common things so that when you learn to use B4A you can easily work on the others, learning their specials only.