Estamos trocando disponibilidade, consistência e complexidade. Para abordar a última pergunta primeiro: isso importa? Sim, muito! As escolhas sobre como seus dados devem ser gerenciados são absolutamente fundamentais, e não há "melhores práticas" evitando as decisões. Você precisa entender seus requisitos específicos.
Existe uma tensão fundamental:
Uma cópia: a consistência é fácil, mas se acontecer de cair, todo mundo estará fora da água e, se as pessoas estiverem remotas, poderão pagar terríveis custos de comunicação. Traga dispositivos portáteis, que podem precisar operar desconectados, para a imagem e uma cópia não vai cortá-lo.
Master Slave: a consistência não é muito difícil porque cada dado possui exatamente um master proprietário. Mas então o que você faz se não consegue ver aquele mestre, algum tipo de trabalho adiado é necessário.
Mestre-Mestre: bem, se você pode fazer funcionar, parece que oferece tudo, nenhum ponto único de falha, todos podem trabalhar o tempo todo. O problema com isso é que é muito difícil preservar a consistência absoluta. Veja o artigo da wikipedia para mais informações.
A Wikipedia parece ter um bom resumo das vantagens e desvantagens
Vantagens
Se um mestre falhar, outros mestres continuarão a atualizar o banco de dados.
Os mestres podem estar localizados em vários sites físicos, ou seja, distribuídos pela rede.
Desvantagens
A maioria dos sistemas de replicação multimestre são apenas vagamente consistentes, ou seja, preguiçosos e assíncronos, violando as propriedades ACID.
Os sistemas de replicação mais ágeis são complexos e apresentam alguma latência de comunicação.
Problemas como resolução de conflitos podem se tornar intratáveis conforme o número de nós envolvidos aumenta e a latência necessária diminui.