By using a binary search tree, its drawbacks become obvious quickly:
- Worst-case performance is that of a linked list
- Unbalanced trees are easy to create by accident
- Unbalanced trees cannot be "repaired"
- Recursive algorithms can overflow on unbalanced trees
Obviously, a lot of the deeper issues result from the tree being unbalanced in some way—for which there is a solution: self-balancing binary search trees.