The main difference lies in the ratio of espresso to milk and the amount of foam. A latte has more steamed milk and less foam, a cappuccino has equal parts of espresso, steamed milk, and foam, and a macchiato has a small amount of steamed milk topped on an espresso.