Minecraft wiki entry for Tree_farming, associated text: Oak is plentiful and convenient in compact spaces, making it the best at the beginning of the game. Oak leaves can also drop apples.
Birch grows quickly and has the most uniform height, and is ideal for automatic farming, making it the best in moderately sized fields.
Dark Oak grows extremely quick, has a larger average yield than oak, and is considerably more compact and safer to harvest than jungle giants. Dark oak leaves can also drop apples. Difficult to farm automatically.
Jungle size and its tendency to spawn branches is ideal for mass-production of raw wood yield per tree, making it the best late game tree if provided plenty of time and space. The giant variant is difficult to farm automatically, however the smaller version is considerably easier to automatically farm.
Acacia is ideal for space-efficient farming. Also difficult to farm automatically, however the amount of logs per tree almost makes it viable.
Spruce is easy to find, but is too tall for convenient harvesting, and is not especially convenient to farm. The giant variant is good for time-efficient wood-quantity especially when a spiral technique is applied to harvest it. The giant variant is difficult to automate, however, with a fast enough layout it is well worth it.
Huge fungus is only found in the nether and require a nylium block to grow on. They are space-efficient, however. They grow only when bone meal is used. The near nonexistent growth restrictions allow great freedom for automated farming. And much like the giant spruce trees, if you have a fast enough layout it is well worth it.
Azalea trees can be farmed for azalea and flowering azalea leaves. They also yield oak wood without the chance of growing a difficult to remove large oak tree. Azalea trees can also be fully automatically farmed without any player input using moss farms.