Before I talk about how the BFG9000 actually works, I want to address one nagging question many DOOMers have had over the years - What does BFG stand for?". According to Tom Halls' original DOOM design document, section 14 it stands for Big Fucking Gun.
The BFG9000 works like this:
The first is the delay between "pulling the trigger" and the BFG9000 actually firing. You need to be in a situation where you can survive the delay. The BFG9000 does you no good if something kills you while the weapon is warming up.
The second is the damage beams. They fly out in a cone of about the same degree of arc as the players' point of view (about 90° of arc), so that the further away a target is, the fewer of these beams are going to strike that target. Which is why a BFG9000 can kill more powerfull monsters at close range but not at long range. There also seems to a be a hard coded range limit of 1024 "units" for these beams.
A third is the direction the beams fly. Since the beams do not occur until after the main plasma ball detonates you can be pretty far away from the place you fired the BFG9000 when the beams let fly. The beams will fire off in the direction you were facing at the time you shot the BFG9000 but streaming out from where you are right now. This can have interesting and bizarre side effects.
The Deathmatch implications of the BFG9000 are many and complex and beyond the scope of this document. Refer to Tony Fabris' excelent BFG9000 FAQ (linked above) for more information.
The BFG9000 did not always work as we see it today in DOOM. As late as the final "press release" of the DOOM beta, available at ftp://ftp.cdrom.com/pub/idgames/historic/doomprbt.zip, the BFG9000 was a completely different weapon. At that time the BFG9000 was like a cross between a firehose and a Plasma Rifle. It fired a huge number of plasma rounds at high speed, as can be seen by the screen shots below.
This version of the BFG9000 was discarded because it slowed the game down on the systems of the day and, from what I remember reading in the newsgroups, would bring the networks to their knees in multi player (not too surprising when you consider that the first released version of DOOM used IPX broadcast packets, making every machine on the LAN inspect them, whether that system was playing the game or not).