Design de material, AppCompat e compatibilidade com versões anteriores

Estou tentando entender um pouco melhor os princípios do Design de materiais (sou novo nessa área e tenho lido documentações e tutoriais, mas o assunto ainda é um pouco vago para mim), e ficarei feliz em alguma ajuda. O que eu tentei até agora é ter duas pastas (valores e valores-21) com um arquivo styles.xml por cada uma delas -

values / styles.xml:

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"></style>

values-v21 / styles.xml:

<style name="AppTheme" parent="android:Theme.Material.NoActionBar"></style>

O problema começa onde tento usar as atividades herdadas do AppCompatActivity (pelo que entendi, é isso que preciso fazer para oferecer suporte à compatibilidade com versões anteriores nos dispositivos anteriores ao Lollipop para coisas como Design de materiais? Estou correto? Mais informações aqui seriam ótimo). Se fizer isso, o aplicativo não será executado em dispositivos com API 21 ou superior, pois o "AppTheme" deve herdar do AppCompat.

O que posso fazer para resolver isso é criar um tema base que herda de AppCompat e, em seguida, criar o estilo nos dois arquivos para herdar desse tema base ... Mas então não sou mais herdeiro de Material .... o que me leva à (s) pergunta (s) -

O Design de materiais é apenas um determinado tema? E se sim, como resolvo meu problema? E o que exatamente o uso do AppCompatActivity realiza aqui? Ou o Material Design é essencialmente apenas um conjunto de regras e princípios que devo seguir? E se sim, por que precisamos de Theme.Material. *? Ficarei feliz por qualquer informação extra que alguém possa me dar sobre o assunto.

Obrigado!