Depende do aplicativo que você está criando. Criei vários aplicativos usando as duas abordagens e não posso dizer que uma maneira é sempre melhor que a outra. O aplicativo mais recente que criei, usei a Activityabordagem única e uma navegação no estilo do Facebook. Ao selecionar itens da lista de navegação, atualizo um único Fragmentcontêiner para exibir essa seção.
Dito isto, ter um single Activitytambém apresenta muitas complexidades. Digamos que você tenha um formulário de edição e, para alguns dos itens que o usuário precise selecionar ou criar, exija que eles acessem uma nova tela. Com as atividades, chamaríamos apenas a nova tela, startActivityForResultmas, como Fragmentsnão existe, você acaba armazenando o valor no Activitye fazendo com que o fragmento de edição principal verifique Activityse os dados foram selecionados e devem ser exibidos ao usuário.
O que Aravind diz sobre ficar preso a um único Activitytipo também é verdade, mas não é realmente esse limite. Sua atividade seria uma FragmentActivity e, desde que você não precise de um MapView, não haverá limitações reais. No entanto, se você deseja exibir mapas, isso pode ser feito, mas você precisará modificar a Biblioteca de Compatibilidade do Android para FragmentActivityestender MapActivityou usar o android-support-v4-googlemaps publicamente disponível .
Por fim, a maioria dos desenvolvedores que conheço que seguiram a única Activityrota retornaram a várias atividades para simplificar seu código. No que diz respeito à interface do usuário, em um tablet, algumas vezes você fica preso usando um único Activitypara alcançar a interação sempre louca que seus designers criam :)
- EDITAR -
O Google finalmente foi lançado MapFragmentna biblioteca de compatibilidade, para que você não precise mais usar o hack android-support-v4-googlemaps. Leia sobre a atualização aqui: API Android do Google Maps v2
- EDIÇÃO 2 -
Acabei de ler este ótimo post sobre o estado moderno (2017) dos fragmentos e lembrei-me dessa resposta antiga. Pensei em compartilhar: Fragmentos: a solução para todos os problemas do Android