Warto wiedzieć co i jak działa, żeby w razie czego móc zrozumieć kod frameworka lub po prostu napisać coś swojego. Jednak pisanie zawsze wszystkiego od nowa nie ma sensu. Ktoś dany framework wymyślił, opracował, napisał, przetestował - to po prostu gotowe rozwiązanie, które z pewnością spełni większość standardowych potrzeb i pisanie tego zawsze od początku byłoby czasochłonne i bezcelowe.
Głównie używa się ich do zbudowania powtarzających się elementów aplikacji, np. routingu z całym szkieletem, walidacji, połączenia z bazą danych itp.
A jakie to już zależy, jeśli chodzi o pełne frameworki to najpopularniejsze dla PHP jest Symfony i Laravel (osobiście polecam tego pierwszego, odradzam Laravela). Są jeszcze mikroframeworki (mniejsze, posiadają mniej komponentów w sobie) takie jak np. Slim.