Bom dia! Acho que posso esclarecer.
Primeiro, usar a função nativa do Python quase sempre é mais rápido, porque ele já tem o melhor algoritmo intrínseco na função.
Entender o binary search faz parte do entendimento geral de algoritmos, não necessariamente você vai usar na prática, mas isso constrói conhecimento que será reaproveitado em outro momento, como diversos assuntos de matemática.
Quase sempre, novamente não será necessário desenvolver algoritmos básicos, pois eles são nativos, como citei. Mas quem sabe não é possível averiguar se o Python ou outra lang usa esse algoritmo para fazer sua busca?
Uma utilidade prática desses algoritmos que posso pensar é apenas em situações de restrição de uso de funções nativas, como em um teste de lógica.