Tests and staging never catch everything that real users and real data will. A canary sends the new version to a small slice of traffic first, so a bad release hurts only a few people. Use it for high-traffic services where you can compare error rate and latency per version and grow the share step by step. Without per-version metrics a canary tells you nothing, and when you need an all-at-once switch, blue-green is the simpler choice.