Tips for creating good WADs

Things
If you intend to create a good, basic Doom level you should at the very least include some monsters, weapons, ammo and health pickups in it. How you place them is especially important. Some general tips for good item placement:
 * If your level includes powerful monsters, it should also offer powerful weapons. Very few people want to fight a Cyberdemon with a pistol. (However, if the player has an alternate way to kill the monster they may be willing to forgive this; see Cyberdreams.)
 * Do not give out the most powerful weapons right in the beginning. Giving the player a BFG and a huge bunch of cells right away is rarely a good idea, since it tends to lessen the suspense of the level by making the player feel all-powerful and the monsters much less of a threat.
 * Items (especially the best powerups) should be used sparingly, except for ammo.

Make sure that your map is playable from a pistol start. If you start the map with a fight with some tough monsters, make sure to give the player a more powerful weapon - or an escape route, so they can run away and engage the enemies later on.

When placing monsters, it should be kept in mind that well-received levels and levelsets usually get progressively harder toward the end. Placing ten Spider Masterminds in the first room of the first map is generally considered bad taste and too over the top design. Instead try to create balanced and imaginative fights that do not repeat themselves. This can be achieved by using different monster sets, varying level architecture and by giving the player only certain weapons, ammo and powerups.

Architecture
It is often a good idea to visualize the basic layout of the level before actually building it in a level editor. After the layout is ready, you can build the actual map and add the details. Adding a huge amount of detailed architecture is not necessary (improperly detailed architecture can even snag a player), but few people like, for example, square and flat levels ala Wolfenstein 3D either. In the end it does not really matter whether you use very detailed architecture or a more simplistic approach, as long as the level looks good.

Other tips:
 * Do not create inescapable traps or areas, such as pits without exit, which force the player to noclip his way out of them or reload a saved game. An inescapable sector with a damaging floor or a crushing ceiling might be easier to forgive, but it is usually in good taste to include e.g. a teleporter out of the locale.
 * Add some imaginative secrets to your map. While the simplest secret is simply a room hidden behind a hidden door (usually indicated by a different or misaligned texture), try to be creative when designing them.

Tips for creating good deathmatch levels

 * Include a fair amount of weapons and spread them evenly across different sections of the level.
 * Do not make the level too difficult to move around in. For example, do not use large amounts of obstacles that block players and prefer architecture that does not make player movement difficult.
 * Create more than one way in and out of each area.
 * Create doors that automatically open when the player is in their proximity.