What Is a Macchiato?
An espresso with a spot of foam on it, and one of the smallest drinks on the menu. Not to be confused with the two larger things sold under the name.

Macchiato means stained or marked. A caffè macchiato is an espresso with a small spoonful of milk foam dropped on top, marking the surface. It is an espresso drink with a hint of milk, and it is tiny.
Three quite different drinks are sold under the name, which is why ordering one produces such varied results. It is worth knowing all three before you ask for one.
The original: espresso, marked
Somewhere between 30 and 40ml in total. A shot, and a teaspoon of foam. It exists because Italian bar staff needed to tell an espresso apart from an espresso with a drop of milk in it when several were lined up on the counter, and the mark on the surface was the label. The milk is there to take the edge off, not to make it a milk drink.
If you find straight espresso slightly too sharp, this is the smallest possible adjustment. The next step up is a cortado drink, which uses meaningfully more milk but keeps the ratio tight.
The latte macchiato: the same words, reversed
A latte macchiato is a glass of steamed milk with espresso poured through it, so the milk is what gets marked. That is the inversion: one is coffee stained with milk, the other is milk stained with coffee. It is much larger, much milder, and usually layered in a tall glass because the espresso settles visibly through the milk.
If you ordered a macchiato expecting a small strong coffee and were handed a tall glass, this is what happened.

The caramel macchiato is a third thing entirely
The chain-cafe caramel macchiato is a vanilla latte with caramel sauce on top. It is a perfectly good drink and it is not a macchiato in any traditional sense, since it is mostly milk and the marking is sauce rather than coffee or foam. Nobody is being deceived, exactly, but it explains most of the confusion around the word.
How it compares to the other small drinks
The small end of the menu is crowded and the distinctions are real. A macchiato is espresso plus a spot of foam. A piccolo latte is a ristretto in a small glass topped with steamed milk, so noticeably milkier. A cortado is espresso with an equal part of warm milk. A flat white is larger again with microfoam throughout.
Ordered by how much the milk matters, it runs macchiato, piccolo, cortado, flat white, cappuccino, latte. Pick the point on that scale you want rather than the name you half remember.
Ordering one abroad
In Italy, ask for a caffe macchiato and you will get the original. Adding caldo or freddo specifies whether the milk is steamed or cold, and both are normal. In Portugal the near equivalent is a garoto, in Spain a cortado is the closest common order, and in much of northern Europe the word has been imported along with the chain-cafe meaning rather than the Italian one.
In an English-speaking chain, the safest way to get the small strong version is to ask for an espresso with a spot of foam on top. Every barista understands it and nobody is offended by it.
Making one at home
Pull a good shot, steam a small amount of milk, and spoon a little of the foam onto the surface. The difficulty is that steaming a tiny quantity of milk well is harder than steaming a jugful: there is not enough volume to build a proper vortex, and most home machines struggle. What good steamed milk actually is covers the technique.
A reasonable cheat is to steam more milk than you need, use a spoonful, and drink the rest. Since the drink is 40ml, the shot is doing nearly all the work, so it is worth more attention than the foam. Espresso machines and the grinder in front of them decide that part.
Common questions
What is the difference between a macchiato and a latte macchiato?
They are inversions of each other. A caffe macchiato is an espresso marked with a spot of milk foam, around 30 to 40ml. A latte macchiato is a glass of steamed milk marked with espresso poured through it, and is much larger and much milder.
Is a caramel macchiato a real macchiato?
Not in the traditional sense. It is a vanilla latte with caramel sauce on top, so it is mostly milk and the marking is sauce rather than coffee or foam. It is a good drink under a confusing name.
What should I order if a macchiato is too strong?
Move up the scale by milk content: a piccolo, then a cortado, then a flat white. All three keep the coffee prominent while adding progressively more milk, which is a better route than adding water to an espresso.