A framework is a set of good practices for using a language, for a specific purpose. This end varies according to language. In PHP, most of the frameworks are meant to help with web development.
About development agility: PHP naturally has agility in development. When adding a framework, the developer loses this agility at first. This is due to the need to learn about the use of the framework. However, after this learning period, productivity returns to the standard language level.
A framework naturally facilitates the organization of code. Most of the standards decisions have already been made by the framework developers. You are using other people's knowledge to streamline your development process.
The difficulty of maintenance will depend on the size of your application. For a small application, using a framework makes little difference. For a large application, a knowledgeable framework will be able to understand the general structure of your application. He will still have to learn the business rules of the application. If a framework is not used, the new developer will first have to familiarize himself with the structure that was created, then with the business rules developed.
A framework is a good development practice. It is not strictly necessary, but it is something that facilitates the development of an application.
It is always important to choose a framework that is widely used and has good community support, since developing a framework is not a trivial task.