Generally, there are two main approaches in project management.
In traditional project management, the quality/performance parameters, the timeframe, and the budget are set prior to planning. Then the project is planned and executed in a linear way. E.g. the project plan is developed on the basis of the project specification (here the project delivery is written down) or the set parameters are controlled and monitored with project management methods (like stakeholder or risk analysis). Usually, this approach is used for construction projects, organisational projects or projects with precise goals or a clear target setting.
Agile project management on the other hand is a set of methods and process models (e.g. Scrum, Kanban, Extreme Programming) which helps realising projects (mainly) in software development. Here the project goals are highly variable and often can’t be formulated clearly at project start-up (e.g. maybe you don’t know all the functions and features of a program or an app, so you just specify what you know now and let the big picture clear itself over time). Here the role of a traditional project manager doesn’t exist anymore, and the project team is self-organised. Also, the budget and the timeframe are usually not fixed at the beginning. Agile approaches are mostly iterative and more flexible than traditional procedures.