01The shape decides the cost
Every BST operation costs O(h), and h depends only on the order of the insertions. Insert 1, 2, 3, 4, 5, 6, 7 and each key hangs to the right of the previous one: a chain of height 6, and search(7) checks all seven keys. Insert the same keys as 4, 2, 6, 1, 3, 5, 7 and you get a perfect tree of height 2: three comparisons.
Real data is often sorted or nearly sorted: timestamps, auto-increment ids, names read from a sorted file. On such input a plain BST is exactly as slow as a list.
We want a tree that keeps itself short whatever the insertion order, with h = O(log n) for n keys. Balancing does not change what a BST is; it only adds a little repair work after each insert and delete.