Homebrew is a term frequently applied only to video games that are produced by consumers on proprietary game platforms; in other words, game platforms that are not typically user-programmable, or use proprietary hardware for storage. Sometimes games developed on official development kits, such as Net Yaroze or PS2 Linux are included in the definition. Some, however, also refer to all non-commercial, "home-developed" games for open architectures as homebrew games, though these typically go under more frequently used labels, such as freeware. The term doesn't, however, include commercially sold games that are developed without the console manufacturer's license.
In Japan, these games are usually called Dojin soft, which is the way of saying this software is not illegal depending on what the software does.
Homebrew games are typically developed to be used with emulators. There have been efforts to use actual console hardware; Atari 2600 homebrew developers can use various methods, for example, audio transfer via the SuperCharger module. Game Boy Advance homebrew developers have several ways to use flash memory cartridges (see Game Boy Advance flash cartridges).
Today, along with the Sega Dreamcast, Game Boy Advance, and the PlayStation Portable the most frequently used platforms for homebrew development represent a good part of the older generations of the consoles - the Atari 2600 and Nintendo Entertainment System.
The Atari 2600 and NES are interesting because they both use the 6502 instruction set which is likely to be familiar to people who have programmed 8-bit computers, such as the Commodore 64.
Although on a much lesser scale, both the Sega Master System and Genesis/Mega Drive do enjoy some homebrew development, as there is no physical lockout mechanism (akin to Nintendo's 10NES), thus running homebrew software on that hardware is much easier. It has been stated that Yuji Naka had created a NES emulator for Sega Genesis, not many details were revealed about the project besides for the fact that it helped win the respect of his co-workers.
A big factor is that the platforms (and portable platforms in general) are simple enough that a very small team, or a lone programmer, can make a decent enough game for them, therefore favoring homebrew projects which are usually undertaken by small teams or individuals.