I start by checking your existing slab, because new color on a cracked, sinking slab just gives you a prettier problem. If the old concrete is sound, I'll tell you whether an overlay makes more sense than a new pour, since it skips the demolition. If it isn't, we break it out, dig down to the subgrade, the dirt the slab sits on, and pack it firm so the new slab doesn't settle along with loose fill. We check where the water runs and slope the slab away from the house, set rebar, the steel that holds the slab together if it does crack, and pour in the cooler part of the day so the top doesn't come out weak and dusty. Then we work in the color and texture, cut control joints, shallow grooves that give the slab a place to crack in a straight line instead of wherever it likes, and let it cure before anyone walks on it. The base is where I won't let you save money. It's buried on day one and it's the first thing people want to cut, but color can't fix a slab that's sinking, and the base is what keeps it flat.
Decorative work often runs past the patio. If your yard steps down, concrete retaining walls hold the slope and can take the same color, so the wall and the patio look like one job. Indoors, concrete floor installation gives you a new slab that's ready for stain, dye or polish.
New decorative pour
This is the right call when the old slab is cracked, sinking or pooling water, because there's nothing under it worth keeping. You get a fresh base with color mixed in or worked into the surface, or exposed aggregate, where the stone in the mix shows through.
Overlay on a sound slab
This suits a slab that's flat and solid but plain or worn on top. The thin cement-based layer bonds to it and gives you new color and texture without the jackhammer, but it can only be as good as the slab under it.
Stain or dye on existing concrete
This works when the slab is sound and you like its texture but not its gray. We check it first, and ordinary joints and the odd hairline crack are fine, though stain tends to show them rather than hide them.