Unfortunately, cheating has always been present
in almost every type of human competition. DOOM is no different.
There have been some infamous instances of cheating in DOOM. Note
that it is very rare that casual DOOMers will cheat; as with these incidents,
these players were already highly-skilled, accomplished players.
The demos that they recorded, in many instances, couldn't have been managed
by an average player. Other than some ruffled feathers in deathmatch
games in the past and present, I don't think anyone feels any animosity
towards these individuals.

As the first wave of truly skilled single-player
DOOMers competed for Compet-N points, Uwe Girlich was decompiling DOOM
for his LMP Description and LMPC work. Mr.Girlich and his friend,
Steffan Winterfeldt, were already skillful players who played regularly
for the Compet-N. There were many holes in the points tables and
lots of unexplored achievements that had yet to be reached. Their
quest to reach these goals would provide one of the Compet-N's worst moments
and one of its best.
No one knows for sure exactly how they cheated,
but it is likely that they reverse-engineered the executable and exploited
the fact that DOOM only records your movements in the demo lump.
Definitely playing in slow-motion and savegames, Girlich and Winterfeldt
quickly recorded some amazing demos and started to push the limits of what
most players thought possible. In May 1996, Mr.Winterfeldt posted
one of the most-watched demos ever, 30nm6520. Fortunately, most of
their demos have visual evidence of cheating, but since it is technically
impossible to unequivocally detect a cheated recording, all of their demos
have been removed from the Compet-N.
In early 1996, there was a big push to achieve
a 30-level nightmare run of DOOM2. Originally deemed impossible,
this feat would quickly be considered the ultimate achievement for a DOOM
player. Thomas 'Panter' Pilger, Frank "Jesus" Siebers, Peo Sjoblom,
Daniel "Demonlord' Lindgren, Andreas 'Anthe' Kren, Steffan Winterfeldt,
and Istvan Pataki were showing the true friendly spirit and competitive
nature of the Compet-N by working together to make the feat part of history.
Kren reached Map15. This is one of my favorite demos, his struggle
here is epic. One must understand that the routes used at this time
were much slower than today. It could be argued that the early incomplete
Nightmare recordings took as much skill as the finished lightning demos
of present day. Winterfeldt reached Map21. Using Winterfeldt's
routes, Lindren reached Map21. Then, Winterfeldt uploaded 30nm6520.
For quite awhile it was accepted as an authentic recording.
By the end of 1996, this demo was widely considered to be assisted and
it was removed from the tables. Frank Siebers found a new passion
for 30nm and his Nightmare Movies page chronicled their endeavors. Pataki
joined Lindgren at Map21. Kren finally conquered Map22 but promptly
died on 23. Nm30 was proving to be a hurdle perhaps too high to be
surpassed.
In 1997, Thomas 'Panter' Pilger spread
throughout the Compet-N tables like a plague. By August, he was the
first to do the third DOOM2 episode(Map21-30) on nightmare skill and was
primed for the ultimate DOOM2 honor, DOOM2 Schwarzenegger. Almost
a year in the making, Thomas 'Panter' Pilger finally achieved the impossible
by recording all 32 maps of DOOM2 on 'Nightmare!' skill in one demo in
49:49.
Pushing the other players to unassistedly achieve new records would become
Winterfeldt's legacy, and for that, we are grateful.

Andy 'Aurican' Kempling was the only other
person to have demos removed from the Compet-N tables for recording with
demo assistance(to my knowledge). Kempling used a modified executable
that was developed from the source ports of DOOM. His offense was
not nearly as invasive as Girlich and Winterfeldt but the controversy was
just as high.

There have been many different types of cheating
in multiplayer games. Using hacked maps, aiming enhancements, modified
sounds and sprites, there are so many ways to cheat in DOOM multiplayer.
Bahdko's Cheating
Explained page is a great resource on this topic.

Appendices:

Windows-compatible Source Ports of DOOM:
PrBoom
-- PrBoom2.2.4 - Full support for playback and recording Boom, MBF, or
even the real game. The best way to play and watch DOOM on a win32
platform.
Eternity
-- Eternity3.3.1 - Full support for playback of doom(2).exe demos.
Zdoom -- Zdoom1.22 - good
demo support but only with Zdoom1.22 demos.
Legacy -- Legacy1.41
- good demo support but only with Legacy1.4 demos.
Jdoom -- Doomsday
Engine1.7.14 - good demo support but only with Jdoom demos.

Additionally, with the source released, there
are many new features in the ports for demo recording and playback.
Deathmatch up to 16 players(maybe more than that now, I can't keep up :),
Opengl support, cross-platform support, split-screen multiplayer, true
3D, sloped floors, skyboxes, mp3 support, client/server TCP multiplayer,
etc.... the list is very long. For demos, there is chasecam,
flycam, recam, and even fast-forward and rewind! Lots of miscellaneous
features too; for example, with PrBoom, pressing 'F12' during a multiplayer
game will completely change the point-of-view, sounds, and HUD to the next
player.

Moving forward + run + strafe_left + strafe_on + turn_left is roughly 141.4%
of normal running speed(this is about the same as -turbo 130) and forward
+ run + strafe_left is roughly 128.1% of normal running speed.

That Archviles will attack other Archviles; barrels do up to 128 points
of damage; almost all the weapons, from monsters or players, do a variable
amount of damage.

The messages during a multiplayer game, the chat mode, do not appear in
the demo lump when replayed.

You can switch-exit a map when dead.

If you record a savegame during a demo, it will record the savegame again
when played back.

Some speedrunning facts:
Unlike Quake-engine-type games, the DOOM engine
played exactly the same on everyone's machine; if player-A could do this
or that then player-B could too. This made DOOM the perfect environment
for competition. This doesn't mean there isn't some flexibility to
the engine; actually, it is littered with dynamic tricks and oddities that
make the game fascinating and exciting. A few examples:

Since DOOM is built on the polar coordinate system, the player can go faster
if travelling on an axis of this coordinate system than normally. (same
type of thing occurs in Quake with vectors or any similar game with chording/curling/circle-jumping)

Because of this polar coordinate system, occasionally, the player (who
is 33 units wide) can fit through a 32-unit wide diagonal opening.

DOOM is only 2 and 1/2 dimensions (that is, the third dimension is faked;
no two items can be in the same spot on the z-axis). This allows
for infinitely tall walls. For example, you can switch a switch when
it looks far above your head.

Due to these limits of the z-axis, this also allows for the player to grab
items at distances that should be too far away... even through walls!

Moving at the fastest speed(with enough room to run up to accelerate to
that speed) will allow the player to "jump" 194 units distance.

Blast vector of weapon damage pushes the player to a speed faster than
manually possible. see also: Archvile jump. see also: Cyberdemon
rocket. see also: fx's SSG.

Personal thanks to Andrew Stine, Julian Auborg, Adam Hegyi, Ralf Schreivogel,
Arno Slagboom, Albert Valls, Laura Herrmann, and idsoftware of past and
present. If it weren't for them, you wouldn't be reading this right
now, the DOOM demoscene might not even exist, and my life would be even
more worthless than it is already.