Read the fabric code first
Upholstery carries a cleaning code on a tag, usually under a cushion, and it is the whole decision. W means a water-based cleaner is safe. S means solvent only — water will stain it, so it is a dry-clean fabric. WS means either is fine. X means vacuum or brush only, with no water and no solvent. Clean to the code; using water on an S or X fabric leaves rings and watermarks you cannot easily undo.
Vacuum and brush
Most of what makes a sofa look tired is dry soil, crumbs and dust sitting in the weave. Vacuum the whole piece with the upholstery attachment, get into the seams and under the cushions, and brush off pet hair. On an X-code fabric this is as far as you go, and it does most of the work on every other fabric too.
Spot-clean to the code
For a W or WS fabric, work a little mild upholstery cleaner or dish soap in cool water into a cloth — not the sofa — and blot the spot from the edge inward, then blot again with a clean damp cloth to lift the cleaner. For an S fabric, use a solvent-based or dry-clean upholstery product, or a small amount of isopropyl alcohol on microfibre, tested first. Blot, never rub, and keep the fabric as dry as you can.
Do not over-wet it
A sofa is fabric over foam and padding that do not dry the way a floor does, so soaking a cushion traps moisture inside, which smells and can grow mildew. Use the least moisture that lifts the mark, blot the water back out, and dry the piece with a fan and open windows. Keep it out of use until it is dry right through.
When to call a professional
A home clean handles spots and upkeep. For an all-over refresh, set-in stains, odour deep in the padding, or a delicate or S-code fabric you would rather not risk, an upholstery professional cleans to the fabric type and extracts the moisture so it dries properly. It is cheaper than reupholstering a cushion you over-wet at home.

