A porch is a roofed structure that projects from the face of a building. It may have sides but is open at the front. A porch typically extends along the full length of a building, or even around more than one side.
A veranda is typically a roofed area attached to an existing building. Both are used to protect a building entrance and provide shelter.