A modification (or mod) is an unofficial add-on for a game that adds new things, changes things already in the game or completely overhauls the gameplay and creates a new experience. Mods are distinct from user-generated content because they are not created or distributed with tools built into the game itself, like Halo's Forge.
Mods can be an inroad to the game industry in some cases, if a project catches the attention of the original developer or some other professional studio. Valve has made it somewhat of a habit to hire outstanding modders (such as the makers of Counter-Strike) and make full-fledged games based on their work.
Types of Mod
Replacing textures is a popular method of modding games, as textures are among the easier assets to create without professional-level tools. Some texture mods only change a specific weapon or character model, while others replace nearly every texture in the game. Some of these larger texture packs can remarkably improve the visuals in older games (Morrowind, for example), even when the game engines themselves are very outdated.
First person shooter maps are often distributed in one file which the player downloads, and then joins a server which is hosting that map. Other non-FPS games such as Neverwinter Nights, Neverwinter Nights 2, Dragon Age: Origins and Torchlight allow the player to create completely new quests, and integrate them into their new maps. Some maps give the illusion that they are overhauling gameplay, when actually it's just a clever design trick. This is seen in The Hive v2 for Killing Floor, which gives the player the illusion that they are moving through an objective based map, when it's actually just cleverly placed textures and controlled spawn points.
These games completely overhaul the game to create a completely new experience. Some of these mods overhaul the gameplay and graphics to create a seemingly new game, whereas others use the standard graphics and gameplay and just invent a new storyline. Popular games for these total conversions are the Source Engine games (One mod might be designed by a user who owns Half Life 2: Episode 2, but a user who owns Team Fortress 2 can play the mod due to the engines being the same.) Doom 3, Unreal Tournament, Unreal Tournament 2004, Unreal Tournament 3, and Crysis.
Some mods have received a lot of attention from publishers and developers, some of them turning into stand alone games. The most notable mod to do this was the original Counter Strike, which was a mod for Half-Life 1. The mod refined the multiplayer aspects of Half Life to create a far more team based multiplayer experience, and was received extremely well by the community and by critics. After version 1.0 of Counter Strike, Valve stepped in and took over development. Counter Strike remained as a mod until v1.6, which was a full stand-alone game on the GoldSRC engine. Several Counter Strike games have been released since and the current version is Counter Strike: Source. Many mods have sought to achieve the same acclaim that Counter-Strike had, but unfortunately all mods that turn into games are usually done by the original developers. An example of this is the game E.Y.E.
Some games allow more modding than others. Games such as Neverwinter Nights and Dragon Age: Origins only allow for new levels to be made with the resources included in the original games or those distributed through seperate 'hak paks.' Other games such as the Half Life series, Elder Scrolls series and the Unreal Tournament series allow for much more extensive modding by allowing developers to create Total Conversions which modify core engine files to create a completely new gameplay experience.
People have worked around the limitations of the engine, as a modder named Adam Miller did for Neverwinter Nights 2. He used the built in scripting engine to create rhythm based gameplay which people did not think possible before. The same person also created a collectable card game with fully 3D battles in the same engine. Both of these minigames are included in the mod series Dark Waters.
Total Conversions are much more complicated mods that usually require a complete development team. Even though scripting is required, these mods often require hardcoding in a programming language such as C.