Regarde du côté de Silex, très léger, plus simple à prendre en main que Symfony, tout en réutilisant les composants et certains éléments d'architecture (je pense en particulier à l'injection de dépendances, et l'utilisation d'un conteneur de dépendances) qui font la force de Symfony.
Non, un framework n'est pas indispensable, tu es libre d'implémenter ta propre structure MVC comme tu l'entends. Néanmoins un framework t'évitera sûrement certains problèmes (d'architecture, d'organisation) que tu aurais rencontrées autrement. Ce qui n'est pas un mal, puisque ça te permet aussi d'apprendre... en regardant comment les frameworks existants ont résolu les problèmes que tu rencontreras, ou en réfléchissant à tes propres solutions.
Dans une optique d'apprentissage, c'est très enrichissant de « faire ton propre framework », néanmoins pour des projets plus sérieux, tu auras meilleur temps de t'appuyer sur un framework existant, qui aura l'avantage d'être éprouvé sur des années d'utilisation par de nombreux utilisateurs, et d'avoir une communauté auprès de laquelle tu pourras facilement trouver de l'aide, partager du code et des connaissances.