Quando escolher a árvore RB, árvore B ou árvore AVL?

Como um programador, quando devo considerar o uso de uma árvore RB, árvore B ou uma árvore AVL? Quais são os pontos-chave que precisam ser considerados antes de decidir sobre a escolha? Alguém pode explicar com um cenário para cada estrutura de árvore porque ela é escolhida em vez de outras...