|This article is a summary page for different variations of a glitches, etc. when talked about as a whole.|
A glitch Pokémon
with an invalid checksum after being labelled as a "Bad EGG" in Pokémon Ruby and Sapphire.
"Bad EGGs" (Japanese: ダメタマゴ), as they are known in the Generation III Pokémon games and later "Bad Egg" in the Generation IV games are error handlers.
In Generation III, they appear for Pokémon that do not have a correct checksum value (which is stored in its own byte). The checksum is computed by adding all unencrypted values of the 'data' section of the Pokémon data structure one word (two bytes) at a time. If the actual checksum does not match the checksum value, the Pokémon will be interpreted as a Bad EGG, and if a hex:0000 ?????????? was interpreted as a Bad EGG, it will appear as a Bad EGG with an invisible icon.
Simply changing the personality value of a Pokémon rather than its data substructures can also turn Pokémon into Bad EGGs, probably due to the substructure order being changed due to a different modulo value. For this reason, it is possible to obtain Bad EGGs without cheating in Pokémon Emerald and Pokémon FireRed and LeafGreen using the Generation III bit set glitch.
Like ordinary Eggs, Bad EGGs in Generation III under normal circumstances can never be released, however, they can be released with the inverse cloning glitch. When the player attempts to view a Bad EGG's summary screen the game will not give the details of the Pokémon inside but rather, the game will bring up an 'Egg' summary screen, showing its 'state' (an indicator of how long it'll take to hatch the Egg) and 'trainer memo' (origin).
Regardless of what the trainer memo says, a Bad EGG will never hatch; only a normal Egg can hatch. 
In non handheld Pokémon games
Bad Eggs appear in Pokémon Battle Revolution.
Unless the player turns the narrations off the game will lockup when a Bad Egg is sent into battle, probably because there is no voice file for announcing the Bad Egg's name.
Reportedly, if a Pokémon with an EV total greater than 510 is uploaded on to Pokémon Battle Revolution, the game will regard that Pokémon as a Bad Egg.
In Generation IV
As a Pokémon species
Unlike in the third generation of Pokémon games, Bad Eggs actually have their own defined identifier of 495 (1EF) for a Pokémon species. If such a 'Pokémon' if encountered in the wild by the use of a cheating device, it will have Splash as its only move.
A glitch Pokémon in Pokémon Diamond and Pearl with an index number of 495 (hex:1EF), known as "Bad Egg".
In Generation VI
A 'Bad Egg' in an online battle
Bad Eggs apparently exist in Pokémon X and Y (source).
They are not to be confused with 'mystery Eggs' (they are not actually called this, they are just referred to as Eggs). Mystery Eggs marked as originating from the Mystery Zone have appeared in the PC boxes of some players of Pokémon X and Y. They also have an obtained date of '0/0/2000'.