What is the main difference between binary decision tree and binary decision diagram(BDD)? From what I can tell I only understand that a binary decision diagram is a more compact representation because it eliminates nodes that have both edges pointing to the same node, eliminates nodes that have removes and removes terminal $2^n$ terminal nodes to just $2$, and but perhaps there is fundamental difference other then this?
One is a tree; one is not. A BDD is a directed acyclic graph (dag), but not necessarily a tree. This allows a BDD to be more compact, in some cases.
That's the only essential difference. Of course, they have different properties (that follow from this difference in their definition).