Agile is a collection of practices. While there is no formal definition of the collection of agile practices, there are studies that have measured the effectiveness of various agile practices.
Broadly, the agile practices can be categories into two groups, management practices and engineering practices. SCRUM is the most popular set of management practices. XP or Extreme Programming is the best known set of engineering practices.
If an agile team only employees the management practices, i.e., SCRUM, they are likely to be unable to maintain a sustainable pace for an indefinite period of time. For example, without automated functional tests, it will take longer and longer to validate each iteration. If you don't use pairing or Test Driven Development, you are likely to find your defects grow out of control.
Management practices enable the team to collaboration successfully with the business partner. Prioritizing what need to be done, working collaboratively against scope in priority order. SCRUM, by itself, will provide benefit immediately. Management practices tend to be the easiest to learn and put into practices.
Examples of management practices are open workspace, product owner, prioritized product backlog, iteration, iteration and release planning meetings, show & tell etc.
While the engineering practices are more difficult to learn and execute well, they are essential if a team is to maintain a sustainable pace of high quality software. Examples of engineering practices are developer pairing, test drive development, simple evolutionary design, automated functional and performance tests, continuous integration and collective code ownership.
There is much written about Agile and even more confusion. If you are interested in using agile find a coach that can help your team learn both the management and engineering practices. You will be rewarded with a team that is high functioning and a business partner that is very pleased.