Change one thing at a time in a test, so you know what caused the result.
Change one variable per arm so the winner is attributable. Otherwise it's a guess.
Version B of a landing page changes five things at once and wins by 4%, and nobody can say why. Choose what B should change in the next test.
If you must test combinations, use a multivariate (MVT) design with proper sample size.
You change the button colour to green and rewrite its label in the same variant, and conversion rises 9%. Which change did it? You can't say, because you moved two things at once, so the “winner” teaches you nothing you can reuse. Change one variable per arm and the result is attributable: the lift belongs to the thing you changed. If you genuinely need to test combinations, that is a multivariate test with a proper design and sample size, not a two-change guess.
Strict one-variable isolation is for learning why something worked. When you simply need the best of a few fully-formed designs and don't need to attribute the cause, a straight A/B between complete variants is fine. And a coherent redesign is often best shipped and measured as a whole, since splitting it into isolated variables would test a product nobody would actually build.
A team ships 3 variants of a hero with different copy, color, and image.