Perhaps not what your wanting to hear, but 'Agile' is not a process model but a set of attitudes that can be, for example, used even with Waterfall. A software development process model would be something like eXtreme Programming or Crystal Clear.
The problem is that while the term 'Agile' was created to define a set of attributes (see the agile manifesto) it has been redefined by the community to refer to methodologies. Any methodology (e.g. Scrum or XP) can be implemented as agile or non-agile.
Also, methodologies/processes are aimed at solving different problems. Some provide processes for software developers (e.g. XP mandates pair programming and TDD) while other provide processes for project management (e.g. both Scrum and XP). So comparison is difficult and sometimes meaningless.
To an extent all are waterfall, it just depends on the level of focus.
I recommend reading Alister Cockburn. Different sized teams and different levels of 'criticality' require different solutions. See the Crystal set of processes. Alister has spend almost 20 years studying successful and not so successful teams all over the world. He has found, for example, that in a small team actual process is less relevant that attributes such as frequent delivery.
Hope this helps.