Se você falar sobre Activity, AppcompactActivity, ActionBarActivityetc etc ..
Precisamos falar sobre as classes Base que elas estão estendendo. Primeiro, precisamos entender a hierarquia das super classes.
Todas as coisas são iniciadas no Contexto, que é uma super classe para todas essas classes.
O contexto é uma classe abstrata cuja implementação é fornecida pelo sistema Android. Permite acesso a recursos e classes específicos de aplicativos, bem como chamadas para operações no nível de aplicativos, como atividades de lançamento, transmissão e recebimento de intenções, etc.
Context é seguido ou estendido por ContextWrapper
O ContextWrapper é uma classe que estende a classe Context que simplesmente delega todas as suas chamadas para outro Contexto. Pode ser subclassificado para modificar o comportamento sem alterar o contexto original.
Agora chegamos a Activity
A Activity é uma classe que estende o ContextThemeWrapper, que é uma coisa única e focada que o usuário pode fazer. Quase todas as atividades interagem com o usuário, portanto, a classe Activity cuida da criação de uma janela para você
As Classes abaixo são restritas a estender, mas elas são estendidas internamente por seu descendente e fornecem suporte para APIs específicas
O SupportActivity é uma classe que se estende Actividade que é uma base de dados de classe para compor funcionalidade compatibilidade juntos
O BaseFragmentActivityApi14 é uma classe que estende SupportActivity
que é uma classe Base. É uma classe restrita, mas é estendida por
BaseFragmentActivityApi16 para suportar a funcionalidade do V14
A
BaseFragmentActivityApi16 é uma classe que estende
BaseFragmentActivityApi14 que é uma classe Base para {@code
FragmentActivity } poder usar APIs v16 . Mas também é classe restrita, mas é estendida por FragmentActivity para suportar a funcionalidade da V16.
agora FragmentActivty
O FragmentActivity é uma classe que estende
BaseFragmentActivityApi16 e deseja usar as APIs de Fragment and Loader baseadas em suporte.
Ao usar essa classe, em oposição ao suporte integrado ao fragmento e carregador da nova plataforma, você deve usar os métodos getSupportFragmentManager()e getSupportLoaderManager()respectivamente para acessar esses recursos.
ActionBarActivity faz parte da Biblioteca de suporte. As bibliotecas de suporte são usadas para fornecer recursos mais recentes em plataformas mais antigas. Por exemplo, o ActionBar foi introduzido na API 11 e faz parte da atividade por padrão (dependendo do tema realmente). Por outro lado, não há ActionBar nas plataformas mais antigas. Portanto, a biblioteca de suporte adiciona uma classe filho de Atividade ( ActionBarActivity ) que fornece a funcionalidade e a interface do usuário da ActionBar.
Em 2015, o ActionBarActivity foi descontinuado na revisão 22.1.0 da Biblioteca de suporte. AppCompatActivity deve ser usado.
O AppcompactActivity é uma classe que estende
FragmentActivity que é a classe Base para atividades que usam os recursos da barra de ação da biblioteca de suporte.
Você pode adicionar um ActionBar à sua atividade ao executar na API nível 7 ou superior, estendendo esta classe para sua atividade e definindo o tema da atividade como Theme.AppCompatou um tema semelhante

Refiro esses dois um , dois
FragmentActivitys. Você hospeda apenasFragments. Nas versões mais recentes do Android, aActivityprópria classe foi atualizada para hospedá-los diretamente. Para suportar versões mais antigasFragmentActivityfoi introduzido.