C'est indispensable !
Imaginons tu as plein de titres avec chacun le même style comme ça :
<h1 style="margin:10px">Blablabla</h1>
Si tu veux changer pour une marge de 15px, tu es obligé de tous les modifier à la main.
Avec une feuille de style, tu fais :
.title
{
margin:10px;
}
Et dans ton HTML, tu fais
<hi class="title">Blablabla</h1>
Et tu n'as plus qu'a changé dans le style pour que ça change dans tous les titres.
De plus tu peux mettre plusieurs class pour un même élément avec chacune du CSS associé et c'est beaucoup plus propre de séparé le HTML du CSS.