To simplify, imagine looking for a name you know in the phone book. There are multiple ways, if you are playing the role of computer, for doing this.

You could open the phone book in the middle, check to see which half your desired name was in, then cut out the half that was in it. In a balanced binary tree, the halves would be the same size, but in a normal binary tree, this might nit be the same - for example, in a normal binary tree, there may be two million names from N-Z and one million from A-M, but you still end up looking first at the M-N divide because that's where the middle of the alphabetical index is.

When doing a binary search through a normal, unbalanced binary tree, you cut in half each time, so you go from A-Z -> N-Z -> N-Tm -> ... and so on.

Let's say your index has like, 1.9 million names that begin with Sha

Obviously, that's not very efficient, and using binary searches isn't the best that can be done.

Humans look by letters, which amounts to a base-26 tree - We go to S, then H, then A... this is like a B tree, but not quite, because while a B tree specifies more than two keys per level in a search, a B tree must also be -balanced-.

A balanced search is roughly the equivalent of looking in the exact middle of the phone book, then making a proper quarter, eighth, sixteenth, and so on, until your result is obtained.

In the case of a B-tree of order say... 10, that means it finds the right tenth, then hundredth, then thousandth - obviously a lot faster, especially when you are dealing with billions or even trillions of indexes.

Hope that helps, your question :-p