The face-off between Quake and Marathon 2, at its heart, is fundamentally about two different game engines. Quake sports the latest in true-3D game technology, with every object in the game rendered in three glorious dimensions and illuminated by dynamic light sourcing. Marathon 2 belongs to the old school of action gaming, having more in common with the "2.5D" worlds of Duke Nukem 3D and Dark Forces.
Even with a more advanced game engine, Quake--a DOS-based game--ran faster and more smoothly on my Dell P166 than Marathon 2, which requires Windows 95 to operate. On the contrary, Marathon 2 seemed somewhat lethargic and sluggish on slower Pentium machines. Granted, some of the blame for Marathon 2's speed deficit can be attributed to the unrefined state of Microsoft's DirectX drivers, a key component of action gaming in Windows 95. DirectX may need another round of optimization to reach its true potential.
In addition to the three-dimensional nature of objects in Quake, that game also features an impressive physics model that is used to simulate gravity, explosive forces, and other physical effects. (Demonstrated to best effect in Quake's Ziggurat Vertigo level, E1M8.) Underneath it all beats a heart that hackers quickly came to adore: Quake boasts its own programming language, QuakeC. With QuakeC, the most ardent game hackers can tinker with Quake to their hearts' content, creating their own patches and utilities.
Marathon 2 has a respectable physics model in its own right, giving it the leg up on most other 3D shooters. In terms of character movement, both games are missing some popular features. Although players can jump in Quake, crouching isn't allowed. Marathon 2 lacks both crouch and jump features--jumping is crudely simulated by the player's speed and altitude over a surface.
Marathon 2 is no slouch, but Quake's next-generation 3D game engine gives it the edge in this category.