Porch is attached to the house, can be front or back...but it has a roof. It can be open, screened, 3 season, (has windows) or 4 season (insulated & heated). If it acts as a corridor to another structure (garage), it is a breeze-way. Finished porches are also called other names, such as Sun rooms, Florida rooms, etc. A long open porch in the front of a house (usually with railings) is also called a Verandah
Deck is a raised planked add-on that has railings, typically adjoined to the house. Decks do not have a roof, but may have a arbor. (open spaced plank cover)
Patio is paved area that is ground level..usually concrete or pavers. It can be made of planked wood, too.
Stoop is the raised step area that leads into the door of a house. Sometimes this area is covered by what some may call an open porch (usually has pillars), but is more accurately called a portico.
Balcony usually is a second floor or higher area attached to the house and only has access from the house.
Confusion comes when you get hybrids.