The terms are interchangeable to some extent, but:
* A 'deck' is usually made of wood, open, and fairly large - typically on the back of the house and used for a table and / or outdoor cooking.
* A 'porch' properly has a wooden or concrete floor, something overhead, and often columns. 'Wraparound' porches are highly prized; ask a real estate person to show you a photo. However, even a couple of concrete steps might be called a porch. If not specified, it usually is on the front of the house; but you'll hear 'back porch' from time to time.
* A 'patio' may be raised or flat on ground level; and is usually made of concrete, brick, or other masonry. They are usually open (no roof) and used in a manner similar to a deck. Front patios exist but are uncommon.
Again, keep in mind Americans are sloppy with language and these definitions are not rigid.