The main differences i know are:
-different combat systems between java and bedrock
-java has a more developed command system
-java has more mods
-bedrock is supporting almost any device
-java has better servers
-bedrock is more buggy(java has also bugs, but they are not always as severe as many bedrock bugs)
-java is for pc only
-some differences in HUD or other visual things
-java supports so called "data packs"
-bedrock supports data packs too, but they are called differently and do different stuff
-bedrock wither(is later in the game if you arent at that point yet) is a lot harder
-java may be more performance intense and can have severe issues on lower end mashines(especially the snapshots/betas) so its recommended to use a mod called optifine(optifine.net)
that is all i can think of at the moment. Hope this helps!(i would recommend java if you are playing on a pc)