>Generation I
Struggle deals damage to the opponent and the user receives recoil damage equal to ½ of the damage the attack did to the opponent. Struggle will automatically be used by a Pokémon that has no usable moves but is ordered to attack, and is not affected by any PP limitations. Struggle is capable of striking a critical hit.
If the user of Struggle attacks first and knocks itself out due to recoil damage, the opponent will not attack or be subjected to recurrent damage during that round. If Struggle breaks a substitute, the user will take no recoil damage.
Struggle has 10 base PP, though no PP would ever be deducted from it. Self-inflicted recoil damage from Struggle from the previous turn can be countered if the opponent did not make a move on the following turn.
Struggle deals Normal-type damage in this Generation, meaning Rock-type Pokémon take half damage, and Ghost-type Pokémon are unaffected. If the only usable move is disabled by Disable, the affected Pokémon will use Struggle.
In Stadium, no recoil damage is taken if Struggle knocks out an opponent.
Generation II
Struggle now has a maximum of 1 PP instead of 10 (16 with PP Ups). Struggle now does typeless damage, inflicting normal damage to Steel-, Rock-, and Ghost-type Pokémon and being unaffected by STAB. It still displays as Normal-type if hacked onto a Pokémon's moveset.
The user will take recoil damage even if a substitute breaks.
Generation III
A Pokémon will still take recoil damage even if it has an Ability that would prevent it, such as Rock Head. Like all typeless damage moves, Struggle can hit through Wonder Guard.
If a Pokémon is holding a Choice Band and is affected by Disable, Taunt, Imprison, or Cursed Body such that it cannot use the move that the Choice Band forces it to, it will always use Struggle as long as the item and the effect both remain active. If a Pokémon is holding a Choice Band and is affected by Torment, the Pokémon will use Struggle every second turn.
Generation IV
The user now takes ¼ of its maximum HP as recoil damage, regardless of how much damage the attack did to the opponent.
All effects that apply with the Choice Band now also apply with all Choice items.
Struggle is now unaffected by modifications to the accuracy stat and evasion stat.
Struggle is unaffected by a held Normal Gem (and will not consume it).
Bulbapedia