There are two primary
variants on the B-Tree.
A B-Star-Tree or B*Tree is a B-Tree where each node (except the root) is at least 2/3 full, rather than just half full. This complicates the implementation somewhat, since instead of combining two nodes into one on deletes, and splitting one node into two on inserts, you have to combine three nodes into two, and split two nodes into three. The Star-ness of a B-Tree can be extended to any fraction, forcing nodes to be 3/4 full, or 9/10 full of 99/100 full. I've never heard of anyone going higher than 3/4; the overhead for insertions and deletions can get out of hand.
A B-Plus-Tree or B+Tree is a B-Tree where data is stored only in the leaves, never higher up. This makes for more compact parent nodes (which now contain only keys), at the cost of some redundancy : the keys in the parents are duplicated in the leaves. Note that this changes the definition of the keys in the parents, in that the nodes to the right of a key are now greater than or equal to that key. This complicates the implementation somewhat, as leaf nodes are now different than the other nodes.
A B-Plus-Star-Tree is the obvious next step, since the two changes are independent, but I don't believe there is a standard term for such a thing.