ZDoom For Dummies
ZDoom is, essentially, an advanced source port for Doom. However, it doesn't just support Doom/Doom II... it also has support for TNT: Evilution, The Plutonia Experiment, Freedoom, Blasphemer, Hexen/Deathkings of the Dark Citadel, Heretic, Strife, Hacx, Chex Quest/Chex Quest 3, Harmony, and Action Doom 2: Urban Brawl.
ZDoom's purpose is to allow Doom mappers to be more creative with their work, using scripting. You can also add elements of detail to your levels, such as slopes, mirrors, 3-D floors, colored lighting, deep-water, breakable glass, level scripting through ACS, advanced monsters, and more.
ZDoom also has the ability to use free mouse-look. Other various options in the options menu allow for toggling the ability to jump, crouch, falling damage, allowing the silent BFG trick, crosshairs, and much more.
ZDoom supports the ability to use any graphics lumps in a wad as a texture or flat. You're also able to make your own custom enemies via DECORATE (without the use of DeHackEd).You are even able to make custom weapons (also without DeHackEd). Furthermore, ZDoom has full DeHackEd support, so you can customize already existing weapons.
Also supported is ACS, an advanced script lump usable in levels as well as with actors. Other important lumps include SBARINFO, a HUD script, MAPINFO, a lump for map names, Hexen-style hubs, and other map settings, and others listed here.
For more on how ZDoom's features work, check out one of the WADs created for ZDoom