A waistcoat is a piece of clothing most often worn as part of a man's suit — it's the sleeveless garment you wear over a button-up shirt and under a suit jacket.
A waistcoat is essentially the same thing as a formal vest. While you might throw on a warm vest to take your dog for a walk, you're more likely to wear a waistcoat if you're an usher in your cousin's wedding. The word dates from the 15th century, when a waistcoat was long-sleeved and worn under a man's doublet, a close-fitting jacket. As the name implies, unlike longer formal coats, waistcoats were cropped at the waist.